成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能開發者 正文
    發私信給AI研習社-譯站
    發送

    1

    一個應用于物體識別的遷移學習工具鏈

    本文作者: AI研習社-譯站 2018-05-03 18:00
    導語:這份教程旨在提供一個工具鏈(流程中工具和相關庫的集合),含有遷移學習中涉及語義分割的一些最基本的內容。

    雷鋒網按:本文為雷鋒字幕組編譯的技術博客,原標題A complete Transfer Learning Toolchain for Object Detection,作者Ralph Fehrer。

    翻譯 | 龍珂宇 于志鵬      整理 |  凡江

    一個應用于物體識別的遷移學習工具鏈

    遷移學習指的是,通過對預訓練模型的參數進行微調,將訓練好的模型應用到相似或者只有細微差異的不同任務中。通過這個方法,我們可以基于一些性能頂尖的深度學習模型得到別的高性能模型。盡管聽上去較為簡單,遷移學習仍然在預處理、搭建和測試上有很多的研究空間。

    這份教程旨在提供一個工具鏈(流程中工具和相關庫的集合),含有遷移學習中涉及語義分割的一些最基本的內容。以下的教程幫助你搭建一個典型的、具有生產可用性的遷移學習模型。本質上,它是一些特定的工具、框架和模型的結合。我們使用:

    每一個單獨的步驟沿一下敘述展開:

    我們想要通過微調在COCO數據集上預訓練的模型,來檢測桃子。因為COCO數據集的模型訓練目標是檢測蘋果和橘子,因此只調整預訓練模型頂層的一些參數就足夠了。

    請注意,我們并不會在這個教程中制造出一個很成功的模型,因為那需要在步驟1中用到大得多的模型,也需要花費數倍的時間。我們主要致力于給大家展現一個可以應用于其他類似場景的遷移學習工具鏈,從如何構建一個自定義的數據集開始,最終得到一個微調完成的模型。

    這個工具鏈中的每一步都有很多的替代選項,并且對于不同的任務,實現遷移學習的方法也有很多種。但如果你想盡快上手,不妨嘗試這個工具鏈,再盡可能地根據你的需求調整每一個步驟。

    我們也提供了一個對應的GitHub項目,上面的文件夾存有大部分我們需要的文件及操作過程中生成的文件。你可以克隆它來復現整個項目,也可以創建分支來擴展和修改該項目。

    1. 創建一個數據集

    如果你在已有的數據集中找不到一個你想檢測的物體的數據集,你需要自己找到圖片并給他們做標注。有幾種工具可以幫助你減化這個痛苦的操作:接下來幾步簡單地描述了如何使用labelbox, 它是一個基于云端的標注工具,且操作界面十分簡潔。如果想了解更詳細的操作指南,可以看labelbox documentation.

    1.1 收集圖片URLs

    因為找不到桃子圖片的數據集,我們使用Google的圖片搜索來構建我們的基礎數據集。手動從Google上下載成千張圖片非常乏味和耗時,幸運的是,有工具幫助我們通過腳本文件向Google發送搜索請求:

    1. 復制google-images-download.py script到腳本文件夾

    2. 在當前文件夾下打開command prompt

    3. 運行以下指令

    一個應用于物體識別的遷移學習工具鏈

    我們的數據(桃子)文件夾現在就會出現一個image_urls.csv文件,里面是桃子圖片的URL鏈接。

    1.2 給圖片做標注

    在這一步里,我們創建一個labelbox的項目,導入我們的image_urls.csv文件,然后給圖片們做標注。

    1. 創建a labelbox project然后導入image_urls.csv

    2. (可選) Adapt the labeling interface調整做標注的界面

    3. 使用semantic segmentation interface of labelbox來做標注

    4. the labeled datasets輸出到json格式

    5. 使用這個腳本Use this script將json格式的數據集轉化為COCO的格式

    請注意:為了生成TFRecords文件,我們需要將coco-files分成訓練集,驗證集和測試集。你可以創建幾個獨立的labelbox project,然后重復幾遍上述操作;也可以手動或者用腳本把上面生成的東西分成幾部分。

    下面這張圖片展示了web-based labelbox的UI:

    一個應用于物體識別的遷移學習工具鏈

    使用labelbox給桃子做標注,用于之后的語義分割

    這一步的輸出是三個json文件,以COCO格式存儲其標簽及其他信息,分別對應我們的訓練集,驗證集和測試集。你們可以在accompanying GitHub-repository中對應的data subfolder里找到示例文件。

    2. 遷移學習

    2.1 將COCO標簽數據轉換為TFRecords的數據格式

    TensorFlow的對象檢測API要求數據需為TFRecord格式,這是一種不易理解的數據格式。準確的理解TFRecord需要花費一定的時間,而且并非易事。幸運的是,Tensorflow提供了一些腳本,可以將大部分常用格式轉換為TFRecord,例如create_coco_tf.record.py。你可以在我們的GitHub倉庫中找到這個腳本的小改版本

    創建TFRecords數據

    1. 用命令行cd到與GitHub倉庫中對應的腳本文件夾

    2. 運行下面的代碼

    一個應用于物體識別的遷移學習工具鏈

    腳本會為三個數據集中的每一個輸出一個record文件,并且下載圖片到data子目錄中,你可以在here看到三個.record后綴的文件

    2.2 配置模型參數

    下面的步驟與與你準備使用的模型有關,也與新類和原始訓練類的關系有關。在本例中,我們訓練了可用于TensorFlow模型zoo中的faster_rcnn_resnet50_coco模型,用來監測桃子。桃子與原始數據集中的蘋果和句子有著很強的相關性。

    1. here下載faster_rcnn_resnet50_coco

    2. 解壓縮下載的tar包

    3. 將三個.ckpt后綴文件復制到模型的文件夾中

    4. 復制faster_rcnn_resnet50_coco配置文件到模型的子文件夾中

    5. 用標簽映射創建label_map.pbtxt文件

    6. 打開配置文件并做如下更改

    -將 fine-tune checkpoint 改為: fine_tune_checkpoint:“../model/model.ckpt”

    - 將 train_input_reader 的input_path值改為: input_path: “../data/coco_train.record”

    - 將 train_input_reader 的label_map_path 值改為: label_map_path: “../data/label_map.pbtxt”

    - 將val_input_reader的 input_path值改為:

    input_path: ”../data/coco_val.record”

    - 將 val_input_reader 的label_map_path值改為: label_map_path: “../data/label_map.pbtxt”

      7.(可選)根據需要,可以修改其他條目

    經過以上步驟,我們創建了label_map.pbtxt,并且修改了faster_rcnn_resnet50_coco.config

    2.3 訓練模型

    在這個環節,我們根據之前的配置重新訓練模型

    1. 復制train.py到腳本的子文件夾

    2. 用命令行cd到這個子文件夾

    3. 運行下面的代碼

    一個應用于物體識別的遷移學習工具鏈

    檢查model/train 子文件夾中是否存在此步驟產生的文件。

    3. 生成推理圖

    首先執行下面的1~3操作,生成的.ckpt文件和frozen_inference_graph.pb文件將用于步驟4、檢驗推理圖和5、推理和評估模型的操作:

    1. export_inference_graph.py復制到scripts 文件夾。

    2. 打開命令行并cd到scripts文件夾

    3. 執行下面的腳本:

    一個應用于物體識別的遷移學習工具鏈

    腳本運行后會在model/fine_tuned_model 文件夾中產生幾個.ckpt.*文件和一個frozen_inference_graph.pb文件

    4. 檢驗推理圖

    TensorBoard是檢驗Tensorflow程序的一個強大的組件,我們可以用它來更好的理解、調試和優化Tensorflow圖

    1. 用pip 命令安裝TensorBoard

    2. import_pb_to_tensorboard.py拷貝到  scripts 目錄下

    3. 在 model/fine_tuned_model 子目錄中創建logdir 目錄

    4. 打開命令行并cd到scripts文件夾

    5. 執行下面的腳本:

    一個應用于物體識別的遷移學習工具鏈

    新創建的logdir文件夾中應當包含tensorboard所需的事件文件

    完成以下步驟以開始tensorboard:

    1. 打開命令行cd到到scripts目錄

    2. 運行下面的命令

    一個應用于物體識別的遷移學習工具鏈

    TensorBoard開始運行后你可以訪問 http://localhost:6006,可以在GUI界面中再次看到訓練的模型。

    一個應用于物體識別的遷移學習工具鏈

    關于TensorBoard的更多信息,詳見TensorBoard documentation或閱讀this tutorial

    5. 推理和評估模型

    為了評估模型效果, 我們借助在步驟3中創建的  frozen_inference_graph.pb 文件,來運行在步驟2.1中創建的coco_testdev.record

    1. detection_inference.py腳本拷貝到scripts目錄

    2. infer_detections.py腳本拷貝到scripts目錄

    3. 打開命令行cd到scripts目錄

    4. 運行下面的腳本

    一個應用于物體識別的遷移學習工具鏈

    在 /data/inference文件夾中查看運行腳本結果 . 關于TensorFlow API的更多說明請參考this TensorFlow tutorial

    如果對模型最終的訓練效果滿意的話,那么此模型就算訓練完成。

    博客原址 https://medium.com/practical-deep-learning/a-complete-transfer-learning-toolchain-for-semantic-segmentation-3892d722b604

    雷鋒字幕組正在招募中,掃描下方二維碼,備注“雷鋒字幕組+姓名”加入我們。雷鋒網雷鋒網

    一個應用于物體識別的遷移學習工具鏈

    雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

    一個應用于物體識別的遷移學習工具鏈

    分享:
    相關文章

    知情人士

    AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說