1. 程式人生 > >TensorFlow-Slim 圖片分類(二)

TensorFlow-Slim 圖片分類(二)

TensorFlow-Slim圖片分類 TensorFlow-Slim image classification

1 將圖片資料轉換成TF-Record格式檔案 Converting Images to TFRecord format

python download_and_convert_data.py \
    --dataset_name=flowers \
    --dataset_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\record

2 從頭開始訓練 Training a model from scratch

python train_image_classifier.py \
    --train_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\train_log \
    --dataset_name=flowers \
    --dataset_split_name=train \
    --dataset_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\record \
    --model_name=inception_v3

3 預訓練模型調優 Fine-tuning a model from an existing checkpoint

python train_image_classifier.py \
    --train_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\train_log \
    --dataset_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\record \
    --dataset_name=flowers \
    --dataset_split_name=train \
    --model_name=inception_v3 \
    --checkpoint_path=H:\pythoncode\Tensorflow\ImageClassify\pretrained\inception_v3.ckpt \
    --checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \
    --trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits

4 TensorBoard

tensorboard --logdir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\train_log

5 模型能力評估 Evaluating performance of a model

python eval_image_classifier.py \
  --checkpoint_path=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\train_log \
  --eval_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\validation_log \
  --dataset_name=flowers \
  --dataset_split_name=validation \
  --dataset_dir=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\record \
  --model_name=inception_v3
  

6 匯出推理圖 Exporting the Inference Graph

python export_inference_graph.py \
  --alsologtostderr \
  --model_name=inception_v3 \
  --output_file=H:\pythoncode\Tensorflow\ImageClassify\data\flowers\inception_v3_inf_graph.pb
  --dataset_name flowers 

7 匯出權重  Freezing the exported Graph

python freeze_graph.py \
  --input_graph H:\pythoncode\Tensorflow\ImageClassify\data\flowers\inception_v3_inf_graph.pb \
  --input_checkpoint H:\pythoncode\Tensorflow\ImageClassify\data\flowers\train_log\model.ckpt-12780 \
  --input_binary true \
  --output_node_names InceptionV3/Predictions/Reshape_1 \
  --output_graph H:\pythoncode\Tensorflow\ImageClassify\data\flowers\frozen_graph.pb 

8 預測 Test

python classify_image_inception_v3.py \
  --model_path H:\pythoncode\Tensorflow\ImageClassify\data\flowers\frozen_graph.pb \
  --label_path H:\pythoncode\Tensorflow\ImageClassify\data\flowers\record\labels.txt \
  --image_file dandelion.jpg

參考資料
[1] https://github.com/tensorflow/models/tree/master/research/slim