######################
在將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