######################
在将tensorflow 的.ckpt文件转成pb文件和pb文件测试时需要网络节点的输入和输出名称
以下方法,。均不可行!!!!!
######################
with tf.Session() as sess: # 加载模型定义的graph saver = tf.train.import_meta_graph('checkpoints/latest_model.ckpt.meta') # 方式一:加载指定文件夹下最近保存的一个模型的数据 saver.restore(sess, tf.train.latest_checkpoint('./checkpoints')) # 方式二:指定具体某个数据,需要注意的是,指定的文件不要包含后缀 # saver.restore(sess, os.path.join(path, 'model.ckpt-1000')) # 查看模型中的trainable variables # tvs = [v for v in tf.trainable_variables()] # for v in tvs: # print(v.name) # print(sess.run(v)) # #查看模型中的所有tensor或者operations # gv = [v for v in tf.global_variables()] # for v in gv: # print(v.name) # 获得几乎所有的operations相关的tensor # ops = [o for o in sess.graph.get_operations()] # for o in ops: # print(o.name) for var_name, _ in tf.contrib.framework.list_variables('checkpoints/latest_model.ckpt'): print(var_name) var = tf.contrib.framework.load_variable('checkpoints/latest_model.ckpt', var_name) print(var.shape)
老老实实print 你需要获取名称的节点,自然就能看到节点的名字!!!!
这里有关于节点的一些说明,写的挺好:https://www.easy-tensorflow.com/tf-tutorials/basics/save-and-restore