文書の過去の版を表示しています。
VOCデータセットで学習するまで
このページでは deeplabV3 をVOCデータセットを利用して学習するまでの流れを記述します。OSはUbuntuの16.04です。 参考にしたページは以下の通り * https://qiita.com/mucchyo/items/d21993abee5e6e44efad
上記はwindows10での環境だったので、ubuntuでまとめ直します。 環境はAnacondaで構築しました。
環境構築
- 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
データセットの準備
- https://qiita.com/mucchyo/items/d21993abee5e6e44efad の通りにVOCデータセットを準備する
VOCデータセットをTFRecordに変換するまでを行う。
PYTHONPATHの設定
https://github.com/tensorflow/models/issues/4364#issuecomment-393739008 を参照して、pythonpathを通す
- cd tensorflow/models/research/
- export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
正しくパスが通っていれば 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