一、运行环境的安装:
1、下载好cuda9跟cudnn7,然后在安装好后,cuda其会自动添加到环境变量里,所以使用keras进行GPU加速的时候会自动使用这些库。
2、TensorFlow-gpu版本的安装,这个安装方法有三种,
第一种是直接在pycharm里的安装库里安装。
第二种就是使用pip来安装,这个在安装的时候可以指定安装的版本。例如:
pip install tensorflow-gpu==1.8.0
如果使用pip安装失败的话,则应当升级pip,如果使用pip来升级自身的识别的话,就可以使用conda来安装一个最新的pip来解决这个问题。
3、然后就安装keras就可以了。使用指令
pip install keras
接着就是安装那个labelme打标工具。使用指令:
pip install pyqt5
pip install labelme
然后直接在cmd终端里输入指令:
labelme
5、进行样本打标
点击“open”,打开需要标注的图像,选择对目标区域进行标注
假如你要标注的对象为人和狗,在画掩码过程中,一幅图像中如果有多个person、dog,命名规则为person、person…… dog、dog……。因为labelme生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,其中名字相同的软件会给其填充相同的标签值。所以有多分类的标签名要不一样,同类的标签名要一样,例如人的标签名都是person。而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个w*h*n的ndarray,其中n为该图片中实例的个数
这里的打标的时候不要求每张图片按着类别顺序来进行打标,主要打标的区域选对类别即可。其打标后会生成一个json文件,这个文件里记录了打标的顺序,其中生成的mask图像会按打标顺序分别赋值从1开始的值。其记录的是打标顺序。
数据集 获取:
关注微信公众号 datayx 然后回复 mask 即可获取。
AI项目体验地址 https://loveai.tech
6、把打标后的jison文件转换为对应的五个文件。其中的代码文件是:labelme_json_to_dataset.py,使用的代码是:
其要修改的代码位置是:
json_file = 'C:/Users/QJ/Desktop/hh/total'
把这个改为自己的打标好的json文件路径即可。
7、接着就可以使用模型进行训练了,其训练的文件是train_shapes.py.
其中需要修改的为
a、在类DrugDataset()里的
修改为自己的类别顺序
b、在类ShapeConfig()里的
到此就可以测试自己训练的模型结果了。
9、最后的测试结果如下: