Eree's Blog Eree's Blog

Tensorflow framework arg_scope的使用

in 笔记 read (43) 文章转载请注明来源!

在学习tensorflow 官方的tfgan的tutorial的时候,发现教程中使用了framework.arg_scope,原来从来没用过这个方法,特意去查了一下,今天做个记录

arg_scope主要用来对一些方法进行封装,以前写tf的时候,总会遇到一些特别冗长的函数,比如卷积层,长长的一串,就想这样。

    top1 = tf.nn.conv2d(bottom1, filter=[3,3,3,16], strides=[1,1,1,1], padding='SAME', data_format='NHWC')
    bottom2 = tf.nn.relu(top1)
    top2 = tf.nn.conv2d(bottom2, filter=[3,3,16,32], strides=[1,1,1,1], padding='SAME', data_format='NHWC')
    bottom3 = tf.nn.relu(top2)

但是用arg_scope就可以对其中一些函数进行简单的封装,固定一些参数,使得代码看起来不再那么冗长。

    import tf.contrib.framework.arg_scope as arg_scope
    with arg_scope([tf.nn.conv2d], strides=[1,1,1,1], padding='SAME', data_format='NHWC'):
          top1 = tf.nn.conv2d(bottom1, filter=[3,3,3,16])
          bottom2 = tf.nn.relu(top1)
          top2 = tf.nn.conv2d(bottom2, filter=[3,3,16,32])
          bottom3 = tf.nn.relu(top2)

通过这个方法,我们就只用关注经常变得参数,代码也清爽许多。

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:https://ereebay.me/archives/tftips1.html (转载时请注明本文出处及文章链接)

笔记
发表新评论
博客已萌萌哒运行
© 2018 由 Typecho 强力驱动.Theme by YoDu
PREVIOUS NEXT
雷姆
拉姆
音乐加载中...
0:00