Semantic-Segmentation-Suite训练自己的数据集的一些记录
制作自己的数据集和训练可参考github上的文档和我另一篇的博客
https://blog.csdn.net/qq_41833285/article/details/102972363
本文可能更适合那些训练完成后想转.pb文件并预测的同学
相信大家在训练完成后都会有疑惑 为什么没有.pb文件,作者给出的预测程序也是使用.ckpt文件预测,在尝试多次转化后发现转化不了,或者pb文件模型太小,根本用不了。
你是这样吗?
恭喜你,因为你遇到的问题马上会得到解决。
首先给大家看下效果
给大家分享下流程,少走些弯路,第一次建议完全按照我的步骤来。
1.官方下载的文件在models有个resnet_v2_101.ckpt文件,这是预训练模型,我在打开builders文件夹里面的model_builder.py后,发现该项目还支持mobilenet V2,于是我在官网下载了mobilev2的预训练模型(根据自己电脑运行速度选择,我选的mobilenet_v2_1.0_128),放在models文件夹里。
注意要更改model_builder.py里下面这一句,改成你下载文件名。
if "MobileNetV2" == frontend and not os.path.isfile("models/mobilenet_v2.ckpt.data-00000-of-00001")
2.train.py中的–model 使用MobileUnet,下面的预训练模型改为MolileNetV2
3.最重要的一步,尝试过将.ckpt转为.pb的应该都清楚要知道节点的最后一层,有的博客说打开tensorboard看,其实不用太麻烦,添加一个就行了,方法如下
在train.py中
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=network, labels=net_output))
按Ctrl加F查找,找到后在下面加一行代码
new_network = tf.nn.softmax(network, name="softmax_output")
好的,可以开始训练了
训练完成后,有四个文件
checkpoint,meta file,index file and a data file
下面给出我的转化程序
(放在和train.py同一级目录后,只需要更改你要存放.pb文件的文件夹即可)
和用pb文件预测程序
大功告成!
有积分的童鞋请支持下,没有积分的童鞋可以联系我QQ125070473