我有两个关于使用检查点文件恢复网络的问题。 我使用this code来恢复我的网络。我只需要我的原始网络的一部分。实际上,我的原始网络包含5个卷积(非常小)的网络,所有这些都连接到一个大的最后完全连接层。我只想要我的5个迷你小点。 我为网络中的每个变量和每个图层定义名称。 (我注意到当我用日志数据运行tensorboard时,一切正常,这意味着,我有我的所有变量和张量适当的名称)从恢复的检查点文件中获取张量的名称:只返回一个变量名称
1-我的第一个问题是当我想找到这些变量中的任何一个通过恢复网络中的名称,我面对“没有张贴这个名字”的错误。我还测试我的检查点文件与inspect_checkpoint.py和输出它返回只有一个变量:
Variable (DT_INT32) []
,并在其他的方式,我用这个代码,再次测试了它:
from tensorflow.python import pywrap_tensorflow
checkpoint_path = os.path.join('./', 'model.ckpt-100')
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
print("tensor_name: ", key)
print(reader.get_tensor(key))
,并返回:
tensor_name: Variable
101
我找不到这个问题的原因。这里有没有人遇到过这个问题?
2-基于上述网站,我用于恢复我的网络,我有点困惑。实际上,我想恢复我的全部5个迷你网络(这些迷你网络的最后一层都是完全连接的)。所以,我真的不知道什么才是正确的方式来恢复其最后一个完全连接的层与所有权重的每一个小迷你网络。
除非你有一个机器学习一个不寻常的使用情况下,我真的建议你给https://keras.io/一展身手。这是一个高级机器学习库,位于TensorFlow或Theano之上,并使建立深度学习模式更快捷。 pip安装keras – DrMcCleod