簡體   English   中英

如何在deeplab v3 plus上使用我的數據集進行學習

[英]How to learn using my dataset on deeplab v3 plus

在deeplab v3p中,盡管我訓練了數據集,但是它沒有用。 為什么?

我的環境是波紋管:

OS Platform and Distribution: Ubuntu 16.04 lts
TensorFlow installed from: conda
TensorFlow version: 18
Bazel version: no
CUDA/cuDNN version: cuda 9 cudnn 7
GPU model and memory: titan x (2 cards), 64gb memory
Exact command to reproduce: -

我做了以下工作:

a)生成簡單的數據集:

訓練圖像隨機排列兩個圖形(圓形和矩形)並隨機繪制顏色。 標簽圖像的背景設置為0RGB(0,0,0),矩形設置為1 RGB(1,1,1),圓形設置為2RGB(2,2,2),255 RGB(255,255, 255)作為行的細分。

https://camo.qiitausercontent.com/2be21942628a85c46fd8ffb99e05b257b4b0c980/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f62653262306638632d333933322d363434322d336132342d6534306333613466653865612e706e67

https://camo.qiitausercontent.com/323d4f21d792138ebb52f994dc42cc0b5d3ab30d/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353633362f34656633633261332d633533372d316134632d653633342d3165663632643734623166392e706e67

b)轉換為tf.record

build_voc2012_data.py ,我將文件路徑從原始數據集更改為我的數據集。 然后,我運行它並創建了tf.record。

c)訓練

segmentation_dataset.py ,我添加了DATASETS INFORMATION。

_MYDATASETS_INFORMATION = DatasetDescriptor(
    splits_to_sizes={
        'train': 10000,
        'trainval': 1000,
        'val': 1000,
    },
    num_classes=3,
    ignore_label=255,
)


 _DATASETS_INFORMATION = {
     'cityscapes': _CITYSCAPES_INFORMATION,
     'pascal_voc_seg': _PASCAL_VOC_SEG_INFORMATION,
     'ade20k': _ADE20K_INFORMATION,
     'mydata': _MYDATASETS_INFORMATION
 }

然后,我開始訓練。

python train.py   --logtostderr   --train_split=trainval   --model_variant=xception_65   --atrous_rates=6   --atrous_rates=12   --atrous_rates=18   --output_stride=16   --decoder_output_stride=4   --train_crop_size=513   --train_crop_size=513   --train_batch_size=4   --training_number_of_steps=1000000   --fine_tune_batch_norm=true   --tf_initial_checkpoint="./datasets/y/model.ckpt"  --train_logdir="./datasets/x"  --dataset_dir="./datasets/z/tfrecord" --dataset=mydata

d)完成培訓

經過一百萬次迭代,最小損失為4.765。 開始訓練時,它是7.56。

e)可見。 兩個測試圖像。

輸入圖像: https : //camo.qiitausercontent.com/e37afb4ae0e5232a0c0828dad779a4a852462a45/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f393536362362632634634634343

輸出圖像: https : //camo.qiitausercontent.com/d638a2fc7fe5f5119e2f00d7c0aa59b9b9b8fc73d4/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6e61777336673623637674363766636376663637366363765463716376546373637654637163763776036376541676546376346376343637634637634634637634637634634e繞過

輸入圖像: https : //camo.qiitausercontent.com/8fe89aa43aac3a322ede1ac46d469fc48da6b809/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353636213534236734236734234234234234236734236734236734234234263734234234236373423663423673423423423637342363765436636376543423637654365436633376543423373276374363764363764363764363763423763423764363763423763423763423674366343423763423674366343427363423674366343427363427366347366343276346343656346347361342372367367365365634367367634634342367634作買過簽名嗎?

輸出圖像: https : //camo.qiitausercontent.com/94f15de43ce6195bdc8602b800d1275a4830193c/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f39353636236236373653637365363726536376376376376546376376373637654637637637637637654735654275275275a----

根據以上結果,我認為Deeplab v3無法正常運行。 我的用法有誤嗎? 還是參數設置不正確? 還是學習不夠?

這里的問題是您的訓練批次大小( --train_batch_size=4 )太小。 您需要具有更大的批次大小。

參見權衡批次大小與迭代次數的關系,以訓練神經網絡 ,以更好地了解選擇更准確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM