arg_scope
tf.contrib.framework.arg_scope(list_ops_or_scope, **kwargs)
#或者 tf.contrib.slim.arg_scope(list_ops_or_scope, **kwargs) # 为给定的 list_ops_or_scope 存储默认的参数
示例:
with slim.arg_scope([slim.conv2d, slim.fully_connected], weights_initializer=tf.truncated_normal_initializer(stddev=0.1), weights_regularizer=slim.l2_regularizer(weight_decay), normalizer_fn=slim.batch_norm, normalizer_params=batch_norm_params):
就这样给slim.conv2d
和slim.fully_connected
准备了默认参数。
如何给自定义的函数也附上这种功能
from tensorflow.contrib import framework from tensorflow.contrib.framework.python.ops.arg_scope import add_arg_scope @add_arg_scope def haha(name, age): print(name, age) with framework.arg_scope([haha], age = 15): haha("keith") # 输出 # keith 15
with slim.arg_scope(...) as argScope: ... with slim.arg_scope(argScope): ... # argScope 是一个字典。这个字典可以继续使用,下面的arg_scope配置和上面的是一样的。