【问题记录】raise IndexError(‘index {} is out of range‘.format(idx)) index 0 is out of range
先記錄一些語(yǔ)法:
X[:, m:n]即取矩陣X的所有行中的的第m到n-1列數(shù)據(jù),含左不含右。
X[0,:]就是取矩陣X的第0行的所有元素,X[1,:]取矩陣X的第一行的所有元素。
今天訓(xùn)練模型輸入python3 train.py --model_def config/yolov3-custom.cfg --data_config config/custom.data
第一次出現(xiàn)這個(gè)錯(cuò)誤,記錄解決方案:
查了看到有人說(shuō)什么加上except:continue;大概跟我出的錯(cuò)不一樣,總之我沒(méi)法按照這樣解決問(wèn)題,先截圖一下我出問(wèn)題的界面:
File “train.py”, line 62, in
model = Darknet(opt.model_def).to(device)
File “/hexinyi/PyTorch-YOLOv3/models.py”, line 240, in init
self.yolo_layers = [layer[0] for layer in self.module_list if isinstance(layer[0], YOLOLayer)]
File “/hexinyi/PyTorch-YOLOv3/models.py”, line 240, in
self.yolo_layers = [layer[0] for layer in self.module_list if isinstance(layer[0], YOLOLayer)]
File “/usr/local/lib/python3.6/dist-packages/torch/nn/modules/container.py”, line 68, in getitem
return self._get_item_by_idx(self._modules.values(), idx)
File “/usr/local/lib/python3.6/dist-packages/torch/nn/modules/container.py”, line 60, in _get_item_by_idx
raise IndexError(‘index {} is out of range’.format(idx))
IndexError: index 0 is out of range
首先出現(xiàn)這個(gè)問(wèn)題是在我新增了數(shù)據(jù)集的圖片并且增加了種類數(shù)目之后(classes numbers)
然后我檢查我的train.txt和label等txt文件是否寫(xiě)錯(cuò)了或者下標(biāo)溢出了,但是都沒(méi)有發(fā)現(xiàn)錯(cuò)誤,
然后我檢查自己的config文件,懷疑可能是配置的問(wèn)題,因?yàn)閏lass的數(shù)目發(fā)生修改之后yolo層的config也需要修改:
然后發(fā)現(xiàn)我確實(shí)有寫(xiě)錯(cuò),之前以為只有一層yolo,然后仔細(xì)看才發(fā)現(xiàn)有兩層yolo:
然后每一個(gè)yolo之前的[convolutional]都需要修改其中的filters=21(因?yàn)槭莾深?#xff0c;3*7)
[yolo]的classes 修改為 2(原來(lái)是1) 改完之后 bash create_custom_model.sh,生成一個(gè)新的yolov3-custom.cfg,
其中cfg中有的要改的地方還沒(méi)發(fā)生改變就手動(dòng)修改過(guò)來(lái),然后會(huì)彈出一個(gè)窗口說(shuō)file changed,選擇overwrite。
再次運(yùn)行輸入python3 train.py --model_def config/yolov3-custom.cfg --data_config config/custom.data
成功了:
另外發(fā)現(xiàn)剛開(kāi)始的epoch的mAP都非常低,到后來(lái)逐漸增高。
在第二十多epoch的時(shí)候已經(jīng)達(dá)到百分之七十。
然后總結(jié)就是修改數(shù)據(jù)集后一定要注意cfg文件是否要修改。
總結(jié)
以上是生活随笔為你收集整理的【问题记录】raise IndexError(‘index {} is out of range‘.format(idx)) index 0 is out of range的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 在集群服务器进行自定义数据集训练记录过程
- 下一篇: 【jetson nano】 aarch6