https://blog.youkuaiyun.com/u012436149/article/details/53894364
- 在训练深度神经网络的时候,我们经常会使用Dropout,然而在
test的时候,需要把dropout撤掉.为了应对这种问题,我们通常要建立两个模型,让他们共享变量。详情.也可以通过设置 train_flag, 这里只讨论第一个方法可能会碰到的问题. - 为了使用
Tensorboard来可视化我们的数据,我们会经常使用Summary,最终都会用一个简单的merge_all函数来管理我们的Summary
运行情况是这样的: 执行run_epoch(sess,model1)时候,程序并不会报错,一旦执行到run_epoch(sess,model2),就会报错(错误信息见文章最后)。
由于Summary的计算是需要feed数据的,所以会报错。
解决方法
我们只需要替换掉merge_all就可以解决这个问题。
错误:
tensorflow.python.framework.errors_impl.InvalidArgumentError: You must feed a value for placeholder tensor ‘train/var1/Placeholder’ with dtype float
[Node: train/var1/Placeholder = Placeholder[dtype=DT_FLOAT, shape=[], _device=”/job:localhost/replica:0/task:0/gpu:0”]]

本文讨论了在使用TensorFlow进行深度神经网络训练时遇到的问题,特别是关于Dropout在测试阶段的应用以及Summary在双模型共享变量时的错误处理。提供了一种解决方案来避免Summary在第二个模型中因feed数据需求而引发的错误。
4万+

被折叠的 条评论
为什么被折叠?



