No description, website, or topics provided.
Branch: plant_draft
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
official
research
samples
tutorials
.gitignore
.gitmodules
AUTHORS
CODEOWNERS
CONTRIBUTING.md
ISSUE_TEMPLATE.md
LICENSE
README.md
README_PLANT.md
WORKSPACE
export_coreml.py
plant.ipynb
run_pipeline.py

README.md

智慧型植物辨識圖鑑app - 機器學習模型

本專案目前暫時根基於Tensorflow Models,所以含有大量來自該專案的程式碼,日後假如能有辦法乾淨的分離的話,會考慮讓程式碼完全分離。

將圖檔轉為tfrecord

執行

research/slim/download_and_convert_plants.py --dataset_dir=[dataset路徑]

會在dataset路徑中產生training/evaluation用的tfrecord,以及labels.txt

訓練模型

用法: models/run_pipeline.py [yaml設定檔路徑]

run_pipeline會讀取yaml格式的設定檔,以決定使用的模型種類、檔案存放的路徑...等。

以下是yaml設定檔範例

model_name: 'mobilenet_v1'
pretrained_checkpoint_path: 'mobilenet_v1_1.0_224/mobilenet_v1_1.0_224.ckpt'
checkpoint_path: 'checkpoint_save_path'
dataset_dir: 'dataset'
freeze_graph_path: 'freeze_graph.py'
  • model_name: 模型種類,目前支援mobilenet_v1、resnet_v2_50
  • pretrained_checkpoint_path: pre-train好的模型路徑,可以從這裡取得
  • checkpoint_path: 訓練過程中的checkpoint要存在哪裡
  • dataset_dir: 前述tfrecord存放的路徑
  • freeze_graph_path: freeze_graph.py在系統中的路徑

輸出模型

執行

models/run_pipeline.py [yaml設定檔路徑] --export-models

會在checkpoint_path指定的路徑中產生android用的frozen_graph. pb、plant.tflite以及iOS app用的plant.mlmodel