Tensorflow中是否有一个选项可以设置为忽略我添加到Assert
的所有Graph
操作?
我正在考虑的用例是使用tf.contrib.framework.with_shape
添加一堆Asserts,然后在我的配置文件config.fast
中切换一个标志,以决定在培训期间是否应跳过这些Asserts。
通常我会首先根据是否设置了Asserts
选择是否首先生成config.fast
,但是使用with_shape
时,将此选项链接到我的位置似乎更方便张量而不看我的config.fast
。
答案 0 :(得分:0)
我最终使用了与@jdehesa的注释建议类似的东西,但使用了分支工厂函数而不是tf.cond
。
def make_maybe_with_shape(skip_asserts):
if skip_asserts: # identity
return lambda expected_shape, tensor: tensor
else:
return lambda expected_shape, tensor: tf.contrib.framework.with_shape(
expected_shape, tensor)