0
这是我得到tensorflow:ValueError异常:GraphDef不能大于2GB
Traceback (most recent call last):
File "fully_connected_feed.py", line 387, in <module>
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
File "/home/-/.local/lib/python2.7/site-
packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "fully_connected_feed.py", line 289, in main
run_training()
File "fully_connected_feed.py", line 256, in run_training
saver.save(sess, checkpoint_file, global_step=step)
File "/home/-/.local/lib/python2.7/site-
packages/tensorflow/python/training/saver.py", line 1386, in save
self.export_meta_graph(meta_graph_filename)
File "/home/-/.local/lib/python2.7/site-
packages/tensorflow/python/training/saver.py", line 1414, in export_meta_graph
graph_def=ops.get_default_graph().as_graph_def(add_shapes=True),
File "/home/-/.local/lib/python2.7/site-
packages/tensorflow/python/framework/ops.py", line 2257, in as_graph_def
result, _ = self._as_graph_def(from_version, add_shapes)
File "/home/-/.local/lib/python2.7/site-
packages/tensorflow/python/framework/ops.py", line 2220, in _as_graph_def
raise ValueError("GraphDef cannot be larger than 2GB.")
ValueError: GraphDef cannot be larger than 2GB.
错误,我相信这是从这个代码的结果
weights = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope="hidden1")[0]
weights = tf.scatter_nd_update(weights,indices, updates)
weights = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope="hidden2")[0]
weights = tf.scatter_nd_update(weights,indices, updates)
我不知道为什么我的模型正在变得如此之大(15k步和240MB)。有什么想法吗?谢谢!
谢谢!我在模型上增加了你的观点,buti我嵌套'tf.scatter_nd_update(...)'因为我需要在每一步更新我的权重(手动卷积)。也许这是这样做的错误方式? –
也许我是误解,但不一样适用?不要在循环中调用'tf.scatter_nd_update',而是保存返回的操作并在循环中调用它。从[tf.scatter_nd_update]的文档(https://www.tensorflow.org/api_docs/python/tf/scatter_nd_update) - 它应用了更新,并且只是为了方便返回与第一个参数相同的值。所以你可以这样做: update = tf.scatter_nd_update(权重,索引,更新) 我在xrange(num_steps)中: sess.run(更新) – ash