检查张量流的.data,.meta和.index

时间:2019-12-17 22:15:41

标签: python-3.x docker tensorflow tensorboard

我已经尝试了好几个星期,使用我在GitHub上找到的多个神经网络。大多数情况下,这些存储库包含一个包含.meta,.index和.data文件的文件夹。我首先想使用TensorBoard(或任何其他工具)检查这些神经网络,然后正确使用它们。

到目前为止,我已经尝试将这些文件转换为.pb,然后在张量板中使用此文件。但是,这种方法当然行不通。

我在此过程中做了一些假设: 1)我正在macOS上运行最新的TensorFlow(py3)Docker容器。 2)我假设仅检查文件就不需要网络可能需要的必要硬件。

为了将这些文件转换为.pb,我使用了以下代码:

import tensorflow as tf

meta_path = '/Users/emiliovazquez/Documents/Fall2019/cs594/Final/models/triviaqa-unfiltered-shared-norm/best-weights/best-202000.meta' # Your .meta file
output_node_names = [n.name for n in tf.get_default_graph().as_graph_def().node]   # Output nodes

with tf.Session() as sess:
 # Restore the graph
 saver = tf.train.import_meta_graph(meta_path)

 # Load weights
 saver.restore(sess,tf.train.latest_checkpoint('/Users/emiliovazquez/Documents/Fall2019/cs594/Final/models/triviaqa-unfiltered-shared-norm/best-weights/best-202000'))

 # Freeze the graph
 frozen_graph_def = tf.graph_util.convert_variables_to_constants(
    sess,
    sess.graph_def,
    output_node_names)

 # Save the frozen graph
 with open('./output_graph.pb', 'wb') as f:
  f.write(frozen_graph_def.SerializeToString())

要检查生成的.pb文件,我使用了this存储库,并进行了适当的更改以在最新的TensorFlow版本上运行。

但是,正确运行此第二个python文件后,该进程退出并显示错误。操作系统找不到指定的文件。但是,我尝试在容器内使用相对路径和绝对路径。

请让我知道我缺少什么信息,应该使用哪种工具,或者给定的方法是否正确

1 个答案:

答案 0 :(得分:0)

如果您显示Docker文件会更好,但是根据您的问题所显示的内容,您尚未将Python文件发送到Docker计算机。如果已发送Python文件,则说明您未正确指定输出文件的路径。由于此程序在Docker中运行,因此您不能为计算机使用绝对路径,而必须使用相对路径,这样它才能在您的计算机和Docker中正常工作。