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

詳解tensorflow實現(xiàn)遷移學習實例

 更新時間:2018年02月10日 16:15:23   作者:瘋女孩愛飛  
本篇文章主要介紹了詳解tensorflow實現(xiàn)遷移學習實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

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

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

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

相關文章

  • 詳解如何使用Python實現(xiàn)復制粘貼的功能

    詳解如何使用Python實現(xiàn)復制粘貼的功能

    pandas?里面有一個?pd.read_clipboard?函數(shù),可以根據你復制的內容生成DataFrame。本文就利用這個函數(shù)實現(xiàn)復制粘貼的功能,感興趣的可以了解一下
    2023-01-01
  • Python爬蟲練習匯總

    Python爬蟲練習匯總

    這篇文章主要給大家分享的是Python爬蟲練習題,文章以爬取南陽理工OJ為題目,根據頁面數(shù)據顯示可以查看到只有題號、難度、標題、通過率、存有數(shù)據,因此只需要對此四項數(shù)據進行爬取,下面一起靜茹文章查看具體的操作過程吧</P><P>
    2021-12-12
  • python tkinter中的錨點(anchor)問題及處理

    python tkinter中的錨點(anchor)問題及處理

    這篇文章主要介紹了python tkinter中的錨點(anchor)問題及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明

    這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python實現(xiàn)的歸并排序算法示例

    Python實現(xiàn)的歸并排序算法示例

    這篇文章主要介紹了Python實現(xiàn)的歸并排序算法,簡單描述了歸并排序算法的原理,并結合實例形式分析了Python實現(xiàn)歸并排序的具體操作技巧,需要的朋友可以參考下
    2017-11-11
  • 如何將Yolov5的detect.py修改為可以直接調用的函數(shù)詳解

    如何將Yolov5的detect.py修改為可以直接調用的函數(shù)詳解

    YOLOv4還沒有退熱,YOLOv5已經發(fā)布,下面這篇文章主要給大家介紹了關于如何將Yolov5的detect.py修改為可以直接調用的函數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • 解讀Python中的frame是什么

    解讀Python中的frame是什么

    這篇文章主要介紹了解讀Python中的frame是什么,關于frame使用講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python里disconnect UDP套接字的方法

    Python里disconnect UDP套接字的方法

    這篇文章主要介紹了Python里disconnect UDP套接字的方法,本文使用的是ctypes繞過的方法,需要的朋友可以參考下
    2015-04-04
  • python中列表的含義及用法

    python中列表的含義及用法

    在本篇文章里小編給大家分享的是關于python中列表的含義及用法,需要的朋友們可以參考學習下。
    2020-05-05
  • python設置windows桌面壁紙的實現(xiàn)代碼

    python設置windows桌面壁紙的實現(xiàn)代碼

    每天換一個壁紙,每天好心情。喜歡的朋友可以參考下
    2013-01-01

最新評論