欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tensorflow實現(xiàn)訓(xùn)練變量checkpoint的保存與讀取

 更新時間:2020年02月10日 11:24:19   作者:imumu_xi  
今天小編就為大家分享一篇tensorflow實現(xiàn)訓(xùn)練變量checkpoint的保存與讀取,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1.保存變量

先創(chuàng)建(在tf.Session()之前)saver

saver = tf.train.Saver(tf.global_variables(),max_to_keep=1)  #max_to_keep這個保證只保存最后一次training的訓(xùn)練數(shù)據(jù)

然后在訓(xùn)練的循環(huán)里面

checkpoint_path = os.path.join(Path, 'model.ckpt') saver.save(session, checkpoint_path, global_step=step) #這里的step是循環(huán)訓(xùn)練的次數(shù),也就是第幾次迭代

以下保存的變量文件

2.變量讀取

1.若要直接恢復(fù)所有變量可以

saver = tf.train.Saver(tf.global_variables())
moudke_file=tf.train.latest_checkpoint('PATH')
saver.restore(sess,moudke_file)

PATH是存放保存變量的路徑,會自動找到最近保存的變量文件

2 若想讀取其中一部分變量值

def read_checkpoint():
  w = []
  checkpoint_path = '/home/ximao/models/resnet3/variable_logs/model.ckpt-17000'
  reader = tf.train.NewCheckpointReader(checkpoint_path)
  var = reader.get_variable_to_shape_map()
  for key in var:
    if 'weights' in key and 'conv' in key and 'Mo' not in key:
      print('tensorname:', key)
  #   # print(reader.get_tensor(key))

3. 若想恢復(fù)其中一部分變量值到新網(wǎng)絡(luò)

(1)首先你要先獲取你想要賦值新網(wǎng)絡(luò)變量的變量名,這里變量名不是一個字符串,而是<name,shape,dtype>這樣的一個結(jié)構(gòu),

然后把你要賦值的元素轉(zhuǎn)為張量,最后把值賦給你得到變量名 如下:

var=[v for v in weight_pruned if v.op.name=='WRN/conv1/weights']
conv1_temp=tf.convert_to_tensor(conv1,dtype=tf.float32)
sess.run(tf.assign(var[0],conv1_temp))

weight_pruned 存放的是你新網(wǎng)絡(luò)中所有的變量

以上這篇tensorflow實現(xiàn)訓(xùn)練變量checkpoint的保存與讀取就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論