中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解tensorflow實現遷移學習實例

發布時間:2020-08-26 22:36:16 來源:腳本之家 閱讀:207 作者:瘋女孩愛飛 欄目:開發技術

本文主要是總結利用tensorflow實現遷移學習的基本步驟。

所謂遷移學習,就是將上一個問題上訓練好的模型通過簡單的調整使其適用于一個新的問題。比如說,我們可以保留訓練好的Inception-v3模型中所有的參數,只替換最后一層全連接層。在最后一層全連接層之前的網絡稱之為瓶頸層(bottleneck)。

持久化

首先需要簡單介紹下tensorflow中的持久化:在tensorflow中提供了一個非常簡單的API來保存和還原一個神經網絡模型,這個API就是tf.train.Saver類。當采用該方法保存時會生成三個文件,一個文件是model.ckpt.meta,它保存了Tensorflow計算圖的結構;第二個文件是model.ckpt,它保存了程序中每一個變量的取值;最后一個文件是checkpoint文件,這個文件中保存了一個目錄下所有模型文件列表。

保存圖

init_op = tf.initialize_all_variables()
with tf.Session() as sess:
  sess.run(init_op)
  saver.save(sess, "model.ckpt")

加載圖

saver = tf.train.import_meta_graph("model.ckpt.meta")
with tf.Session() as sess:
  saver.restore(sess, "model.ckpt")

遷移學習

第一步: 讀取加載已經訓練好的模型

在inception-v3模型代表瓶頸層結果的張量名稱是'pool3/_reshape:0',圖像輸入張量對應的名稱'DecodeJpeg/contents:0'

BOTTLENECK_TENSOR_NAME = 'pool_3/_reshape:0'
JPEG_DATA_TENSOR_NAME = 'DecodeJpeg/contents:0'
#讀取已經訓練好的模型
  with gfile.FastGFile(os.path.join(MODEL_DIR, MODEL_FILE), 'rb') as f:
    graph_def = tf.GraphDef()
    graph_def.ParseFromString(f.read())
  bottleneck_tensor, jpeg_data_tensor = tf.import_graph_def(graph_def, return_elements=[BOTTLENECK_TENSOR_NAME, JPEG_DATA_TENSOR_NAME])

第二步:利用讀取的模型,定義新的神經網絡輸入,這個輸入就是新的圖片經過Inception-v3模型前向傳播到達瓶頸層的取值,是一種特征提取過程。

def run_bottlenect_on_images(sess, image_data, image_data_tensor, bottlenect_tensor):
  bottlenect_values = sess.run(bottlenect_tensor, {image_data_tensor: image_data})

  # 經過卷積網絡處理后的是一個思維數組,壓縮成一個特征,一維向量輸出
  bottlenect_values = np.squeeze(bottlenect_values)
  return bottlenect_values

該過程實際上利用獲取的tensor計算圖片的特征向量,完成特征提取的過程。

第三步:利用獲取的圖像的特征向量完成接下來的任務(比如分類)

以上是僅關鍵代碼。希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒙阴县| 独山县| 刚察县| 泗洪县| 莱西市| 安宁市| 广州市| 台湾省| 怀安县| 西畴县| 天台县| 汉中市| 乐亭县| 大悟县| 垦利县| 哈巴河县| 肇庆市| 富蕴县| 马鞍山市| 周口市| 天祝| 蓬溪县| 尼勒克县| 鄄城县| 霞浦县| 准格尔旗| 邳州市| 固始县| 浦城县| 东辽县| 葵青区| 久治县| 阿图什市| 罗江县| 铁岭市| 乌兰浩特市| 南涧| 深州市| 广安市| 太原市| 武宣县|