coreml:vocで学習

VOCデータセットで学習するまで

このページでは deeplabV3 をVOCデータセットを利用して学習するまでの流れを記述します。OSはUbuntuの16.04です。 参考にしたページは以下の通り * https://qiita.com/mucchyo/items/d21993abee5e6e44efad

上記はwindows10での環境だったので、ubuntuでまとめ直します。 環境はAnacondaで構築しました。

tensorflow-gpuのバージョンは上記リンクよりちょっとあげて、1.15にしています。これじゃないとエラーでました。

  • conda create -n deeplab python=3.6
  • conda activate deeplab
  • pip install tensorflow-gpu==1.15
  • pip install tf_slim
  • pip install pillow
  • pip install matplotlib
  • pip install opencv-python
  • pip install cudnn=7.6.5=cuda10.0_0

VOCデータセットをTFRecordに変換するまでを行う。

https://github.com/tensorflow/models/issues/4364#issuecomment-393739008 を参照して、pythonpathを通す

cd tensorflow/models/research/

で該当ディレクトリに移動してから

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

を実行する。この場合は毎回ターミナルを開くたびに設定するのが面倒になってくるので、最初から~にあるbashrc等に記述しておくとよいでしょう。

正しくパスが通っていれば research/deeplab にある model_test.pyを実行できる

  • python model_test.py

私の環境では次のような結果となった。

[       OK ] DeeplabModelTest.testForwardpassDeepLabv3plus
[ RUN      ] DeeplabModelTest.testWrongDeepLabVariant
[       OK ] DeeplabModelTest.testWrongDeepLabVariant
[ RUN      ] DeeplabModelTest.test_session
[  SKIPPED ] DeeplabModelTest.test_session
----------------------------------------------------------------------
Ran 5 tests in 14.744s

OK (skipped=1)

最後に学習をさせる

python train.py --logtostderr --training_number_of_steps=300 --train_split="train" --model_variant="xception_65" --atrous_rates=6 --atrous_rates=12 --atrous_rates=18 --output_stride=16 --decoder_output_stride=4 --train_crop_size="513,513" --train_batch_size=1 --dataset="pascal_voc_seg" --tf_initial_checkpoint="./datasets/pascal_voc_seg/init_models/deeplabv3_pascal_train_aug/model.ckpt" --train_logdir="./datasets/pascal_voc_seg/exp/train_on_trainval_set/train" --dataset_dir="./datasets/pascal_voc_seg/tfrecord" --fine_tune_batch_norm=false --initialize_last_layer=true --last_layers_contain_logits_only=false
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/pages/coreml/vocで学習.txt
  • 最終更新: 2023/03/15 10:32
  • by baba