1、deeplabv3+訓練自己資料時,轉換tfrecord格式出現問題。一直沒有train.txt的轉換結果。
結果出現./pascal_voc_seg/vocdevkit/mydata/jpegimages/.jpg; no such file or directory錯誤。
後來發現是train.txt檔案下最後有兩行空格。刪掉後重新執行程式即可轉換完成。
2、 訓練時,train_crop_size問題
python3 deeplab/train.py \
--logtostderr \
--training_number_of_steps=20000 \
--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 \
--fine_tune_batch_norm=false \
--dataset="pascal_voc_seg" \
--tf_initial_checkpoint='./deeplab/deeplabv3_pascal_train_aug/model.ckpt' \
--train_logdir='./deeplab/mydata/train_logdir' \
--dataset_dir='./deeplab/datasets/pascal_voc_seg/vocdevkit/mydata/tfrecord'
train_crop_size: 這個之前寫成兩行 --train_crop_size=513\ --train_crop_size=513\ 結果出現 crop_width=self.crop_size[1],
indexerror: list index out of range 的錯誤
故修改為--train_crop_size=513,513 \、可以正常訓練。
3、驗證
python3 deeplab/eval.py \
--logtostderr \
--eval_split="val" \
--model_variant="xception_65" \
--atrous_rates=6 \
--atrous_rates=12 \
--atrous_rates=18 \
--output_stride=16 \
--decoder_output_stride=4 \
--eval_crop_size=700,700 \
--eval_batch_size=1 \
--dataset="pascal_voc_seg" \
--checkpoint_dir='./deeplab/mydata0611/train_logdir' \
--eval_logdir='./deeplab/mydata0611/eval_logdir' \
--dataset_dir='./deeplab/datasets/pascal_voc_seg/vocdevkit/mydata0611/tfrecord'
--max_number_of_evaluations=1
語義分割deeplabv3原理與流程梳理
deeplabv3是一種語義分割網路,語義分割旨在對給定的每乙個畫素點進行類別 在這裡我們來梳理一下deeplabv3網路的大致流程僅供參考,參考的演算法實現位址為 演算法使用的資料集是分割常用的cityscapes,在對資料集進行適當的預處理後,輸入網路的是batchx3x256x256的和bat...
DeepLabV3 訓練自定義資料集例項(2)
7.註冊資料集 在 models research deeplab datasets 路徑的data generator.py 第93行copy該結構體 mydata information datasetdescriptor splits to sizes num classes 2,共2類 ig...
語義分割網路DeepLab v3的架構設計思想 中
模型架構 與大多數編碼器 解碼器架構設計不同的是,deeplab 提供了一種與眾不同的語義分割方法。deeplab 提出了一種用於控制訊號抽取和學習多尺度語境特徵的架構。deeplab 把在 imagnet 上預訓練得到的 resnet 作為它的主要特徵提取網路 但是,它 為多尺度的 特徵學習新增了...