- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我开始使用 Tensorflow/Deeplab 学习 ML。我尝试使用带有 mobilenet_v2 模型变体的语义分割从头开始训练自己的模型进行服装识别。但我没有得到结果。
我正在使用tensorflow/models用于 tfrecord 导出和培训。和deeplab/example用于可视化和测试目的的代码(本地重命名为 main.py),我修改了一些行,以便可以获得本地模型和测试图像。
我将展示我遵循的过程:
将“pascal dataset”目录导出到 tfrecord,如下所示(我位于“models-master/research/deeplab/datasets”文件夹中):
py build_voc2012_data.py --image_folder="pasc_imgs/JPEGImages" --semantic_segmentation_folder="pasc_imgs/SegmentationClassPNG" --list_folder="pasc_imgs/ImageSets" --image_format="jpg" --output_dir="train/tfrecord"
我像这样编辑了“models-master/research/deeplab/data_generator.py”:{'train': 85, 'trainval': 100, 'val': 15}, num_classes=2。
py train.py --logtostderr --training_number_of_steps=10000 --train_split="train" --model_variant="mobilenet_v2" --output_stride=16 --decoder_output_stride=4 --train_batch_size=1 --dataset="pascal_voc_seg" --train_logdir="datasets/train/deeplab_model_mn" --dataset_dir="datasets/train/tfrecord"
py export_model.py --checkpoint_path=datasets/train/deeplab_model_mn/model.ckpt-10000 --export_path=datasets/train/deeplab_inference_mn/frozen_inference_graph.pb --model_variant="mobilenet_v2" --output_stride=16 --num_classes=2
data_generator.py(编辑行):
_PASCAL_VOC_SEG_INFORMATION = DatasetDescriptor(
splits_to_sizes={
'train': 85,
'trainval': 100,
'val': 15,
},
num_classes=2,# 0:background, 1:shirt
ignore_label=255,
)
我用于训练的图像示例 (1/100)(我使用 labelMe 实用程序):
shirt_001.jpg
shirt_001.png
mobilenetv2_coco_voc_trainaug 的 main.py 结果(衬衫作为一个人,没关系)和我的自定义模型:
mobilenetv2_coco_voc_trainaug result
my custom model result
如您所见,我的模型失败了。我已经测试了很多组合但没有成功。 我该怎么办?谢谢!
最佳答案
好吧,我也遇到了同样的问题,经过多次尝试,我已经做到了。首先,你应该制作正确的口罩。如果您使用一个类,您应该使用索引颜色图创建蒙版,并且所有像素应为 0 或 1,0 - 背景,1 - 蒙版(有 255 个)索引颜色图中的颜色)。其次,您需要更大的数据集。我尝试使用包含约 200 个图像的数据集进行训练,但即使在 checkpoint-30k 上也没有得到任何结果(即使使用正确的数据集)。但当我尝试使用包含 450 张图像的数据集进行训练时,我只得到了约 9000 个时期的一些结果。在~18000 epoch 之后没有任何改进,但结果是合理的(尽管远非理想)。然后我用 1100 张图像训练模型,但结果是一样的。
关于python - 我的自定义 mobilenet 训练模型未显示任何结果。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57642245/
我是一名优秀的程序员,十分优秀!