一、训练nanodet-plus
遇到的一些问题,记录在此:
1、!python setup.py develop报错
解决方法:!!pip install -e path
path为setup.py所在的路径
2、训练时遇到如:data[‘category_id‘] = self.cat_ids[label]IndexError: list index out of range
1.首先检查config中的.yml文件中的类数量和类别是否改成自己的,其次检查数据(这里是CoCo形式,检查JSON文件是否类别对应正确)
2.可以打印对应的self.cat_ids列表和label,是否为空
(我这里是self.cat_ids为空)
可以发现,JSON文件里没有categories的信息,加上
import json
with open(r'(JSON文件的路径)instances_test.json', 'r') as f:
data = json.load(f)
# 检查categories字段是否存在,如果不存在则创建它
if 'categories' not in data:
data['categories'] = []
# 添加新的类别信息
new_categories = [
{"id": 0, "name": "cat"},
{"id": 1, "name": "horse"},
{"id": 2, "name": "dog"},
# ...
]
# 将新类别添加到categories列表中
data['categories'].extend(new_categories)
# 写入修改后的JSON数据回文件
with open('instances_test.json', 'w') as f:
json.dump(data, f, indent=4, ensure_ascii=False)
3.在训练时报错:No module named ’torch._six‘
但是在前面pip install requirement.txt时已经下载了。
解决方法:在pip install requirements.txt之前先下载合适的torch、torchvison等,去官网下载合适的版本。
当前notebook的cuda为12.1过新,我这里是用适合cuda11.6的,官网有对应的指令