TensorFlow使用重新计算机技术

时间:2018-07-13 01:22:20

标签: python tensorflow

为了了解TensorFlow可以节省多少GPU内存资源,我做了一些实验。 我的网络是vgg-16,数据集是mnist,批处理大小是128。我估计我的GPU内存使用量是2.8GB。 我关闭所有RewriterConfig,例如:

rewrite_options.memory_optimization = rewriter_config_pb2.RewriterConfig.NO_MEM_OPT
rewrite_options.layout_optimizer = rewriter_config_pb2.RewriterConfig.OFF
rewrite_options.function_optimization = rewriter_config_pb2.RewriterConfig.OFF
rewrite_options.constant_folding = rewriter_config_pb2.RewriterConfig.OFF
rewrite_options.arithmetic_optimization = rewriter_config_pb2.RewriterConfig.OFF
rewrite_options.loop_optimization = rewriter_config_pb2.RewriterConfig.OFF
rewrite_options.dependency_optimization = rewriter_config_pb2.RewriterConfig.OFF

然后我逐渐减少GPU内存使用量。

我观察到TensorFlow的方法是在缺少GPU内存的情况下重新进行计算机处理。为什么要使用再计算机技术而不是交换技术?重新计算比交换更快吗?

memory_optimizer.cc:1226中,它具有RecomputationRewritingPass功能。关闭要测试的功能后,我发现TensorFlow还有另一个执行相同事件的块。 为什么TensorFlow有两个块来执行同一事件?

谢谢。

0 个答案:

没有答案