别人的应该叫train.py,我给自己的训练文件新起的名字demo_train.py,它内容是这个
执行的环境选择在autodl平台上建立的虚拟环境py38
然后运行demo_train.py
ModuleNotFoundError: No module named 'cv2'
结果出现了这个问题:ModuleNotFoundError: No module named 'cv2'
执行pip install opencv-python
安装完成后,点击VScode界面的垃圾桶的图标,清空当前的操作内容,重新执行demo_train.py
遇到下一个问题
No module named 'matplotlib'
缺啥,pip install 啥,这个问题比较常规
继续点垃圾桶的标识,重新执行demo_train.py
ModuleNotFoundError: No module named 'torch'
遇到这个花时间但是能解决的问题(云服务器,心在滴血)
现在才发现不点垃圾桶的标识也行,继续执行demo_train.py就可以
ModuleNotFoundError: No module named 'yaml'
出现了新的问题,ModuleNotFoundError: No module named 'yaml'
在控制台执行:pip install pyyaml
其他比较常规的问题就不列举了
继续执行demo_train.py
发现了一个新的棘手的问题
TypeError: predict() got an unexpected keyword argument 'embed'
试了很多种方法,发现找到autobackend.py,删掉了第356行的embed=embed,代码就可以正常运行了
ModuleNotFoundError: No module named 'ultralytics.nn.MHSA'
这种问题就不能用pip install来解决了,而是在ultralytics/nn文件夹中少了MHSA.py这个文件
同样这个也是在ultralytics/nn中少了ShuffleAttention.py这个文件,添加回去就好了
其他问题
尝试在VScode界面直接操作,结果还是出现一样的问题,说明我刚刚的操作没奏效
然后打开本地的文件,改完了,又通过Xftp重新上传,这下不报错了
VScode界面要改代码的话,改完把这页关掉,会问你保不保存,点save就好啦,这也解释了之前操作没奏效的原因
运行结果中出现了这种情况,尝试改一下batch
设置成batch=16之后就改好了