如题记录转换爬坑
1.安装sklearn
安装scikit-learn可以使用pip install -U scikit-learn,这个工具是做转换需要用到的。这里只是当作工具用,详细使用方法:python之sklearn使用教程
2.转换源码
3.过程记录
在我配置好工具包以及文件输入输出目录后,运行labelme2coco.py后,报错:ImportError: DLL load failed: 找不到指定的程序。定位到的是程序中的from sklearn.model_selection import train_test_split
到这里我人有点傻了,不是才安装好的包吗,怎么找不到呢(毕竟小白)。然后寻求了很多方法,都不起作用。后来看到有文章说import error可能是由于库与依赖库之间不兼容从而产生调用异常。接着去查了一下sklearn及其依赖库的版本:
sklearn: 0.21.3
numpy: 1.15.3
scipy: 1.3.0
joblib: 0.13.2
确实是我的numpy版本过高,抱着试一试的心态安装了numpy1.15.3版本:conda install numpy=1.15.3
最后运行labelme2coco.py进行转换。转换成功。
看来确实是因为下载的sklearn与它的依赖库numpy产生了不兼容的问题,导致调用异常。
说明:
1.在用labelme标注的时候我用的是矩形标注工具,至于多边形可否用这个做转换没有测试。
2.打标签产生的注释文件全部存到一个文件夹里面,把他的目录扔给程序就可以了。
3.注意你的标签要在程序里面写好。
4.如果有碰到其他错误,大概率是其他环境没有配好。
|