国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解TensorFlow查看ckpt中變量的幾種方法

2020-02-15 21:54:34
字體:
來源:轉載
供稿:網友

查看TensorFlow中checkpoint內變量的幾種方法

查看ckpt中變量的方法有三種:

    在有model的情況下,使用tf.train.Saver進行restore 使用tf.train.NewCheckpointReader直接讀取ckpt文件,這種方法不需要model。 使用tools里的freeze_graph來讀取ckpt

注意:

    如果模型保存為.ckpt的文件,則使用該文件就可以查看.ckpt文件里的變量。ckpt路徑為 model.ckpt 如果模型保存為.ckpt-xxx-data (圖結構)、.ckpt-xxx.index (參數名)、.ckpt-xxx-meta (參數值)文件,則需要同時擁有這三個文件才行。并且ckpt的路徑為 model.ckpt-xxx

1. 基于model來讀取ckpt文件里的變量

1.首先建立model
2.從ckpt中恢復變量

with tf.Graph().as_default() as g:   #建立model  images, labels = cifar10.inputs(eval_data=eval_data)   logits = cifar10.inference(images)   top_k_op = tf.nn.in_top_k(logits, labels, 1)   #從ckpt中恢復變量  sess = tf.Session()  saver = tf.train.Saver() #saver = tf.train.Saver(...variables...) # 恢復部分變量時,只需要在Saver里指定要恢復的變量  save_path = 'ckpt的路徑'  saver.restore(sess, save_path) # 從ckpt中恢復變量

注意:基于model來讀取ckpt中變量時,model和ckpt必須匹配。

2. 使用tf.train.NewCheckpointReader直接讀取ckpt文件里的變量,使用tools.inspect_checkpoint里的print_tensors_in_checkpoint_file函數打印ckpt里的東西

#使用NewCheckpointReader來讀取ckpt里的變量from tensorflow.python import pywrap_tensorflowcheckpoint_path = os.path.join(model_dir, "model.ckpt")reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) #tf.train.NewCheckpointReadervar_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))
#使用print_tensors_in_checkpoint_file打印ckpt里的內容from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_fileprint_tensors_in_checkpoint_file(file_name, #ckpt文件名字                 tensor_name, # 如果為None,則默認為ckpt里的所有變量                 all_tensors, # bool 是否打印所有的tensor,這里打印出的是tensor的值,一般不推薦這里設置為False                 all_tensor_names) # bool 是否打印所有的tensor的name#上面的打印ckpt的內部使用的是pywrap_tensorflow.NewCheckpointReader所以,掌握NewCheckpointReader才是王道

3.使用tools里的freeze_graph來讀取ckpt

from tensorflow.python.tools import freeze_graphfreeze_graph(input_graph, #=some_graph_def.pb       input_saver,        input_binary,        input_checkpoint, #=model.ckpt       output_node_names, #=softmax       restore_op_name,        filename_tensor_name,        output_graph, #='./tmp/frozen_graph.pb'       clear_devices,        initializer_nodes,        variable_names_whitelist='',        variable_names_blacklist='',        input_meta_graph=None,        input_saved_model_dir=None,        saved_model_tags='serve',        checkpoint_version=2)#freeze_graph_test.py講述了怎么使用freeze_grapg。            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永寿县| 桓仁| 彭水| 晴隆县| 平阴县| 历史| 遂昌县| 惠州市| 商水县| 长丰县| 龙泉市| 定日县| 达尔| 肃北| 诸城市| 大关县| 阳春市| 五大连池市| 兴文县| 双桥区| 班玛县| 兴国县| 石泉县| 华蓥市| 阿克陶县| 东山县| 雅江县| 玉龙| 清水河县| 甘南县| 汤原县| 黑水县| 沾化县| 沧源| 息烽县| 静乐县| 河津市| 淮滨县| 巩留县| 棋牌| 临桂县|