一、源码分享
踩过很多的坑,对原作者的代码做了部分更改,很多博主说版本的问题,本次修改的代码,对版本无要求,链接如下:
源码点击这里
二、环境配置
此处无过多阐述,本人是在原有的yolov7的环境下安装了几个缺少的库就可以了,也可以自己重新配置,下面贴个我的环境图:
(yolov7) C:\Users\Knight>conda list
# packages in environment at C:\software\Anaconda\envs\yolov7:
#
# Name Version Build Channel
absl-py 1.3.0 pypi_0 pypi
addict 2.4.0 pypi_0 pypi
altgraph 0.17.3 pypi_0 pypi
anyio 3.6.2 pypi_0 pypi
argon2-cffi 21.3.0 pypi_0 pypi
argon2-cffi-bindings 21.2.0 pypi_0 pypi
arrow 1.2.3 pypi_0 pypi
asttokens 2.1.0 pypi_0 pypi
attr 0.3.2 pypi_0 pypi
attrs 22.1.0 pypi_0 pypi
backcall 0.2.0 pypi_0 pypi
beautifulsoup4 4.11.1 pypi_0 pypi
bleach 5.0.1 pypi_0 pypi
ca-certificates 2022.10.11 haa95532_0 defaults
cachetools 5.2.0 pypi_0 pypi
certifi 2022.9.24 py38haa95532_0 defaults
cffi 1.15.1 pypi_0 pypi
charset-normalizer 2.1.1 pypi_0 pypi
click 8.1.3 pypi_0 pypi
colorama 0.4.6 pypi_0 pypi
contourpy 1.0.6 pypi_0 pypi
coremltools 4.1 pypi_0 pypi
cpython 0.0.6 pypi_0 pypi
cycler 0.11.0 pypi_0 pypi
debugpy 1.6.4 pypi_0 pypi
decorator 5.1.1 pypi_0 pypi
defusedxml 0.7.1 pypi_0 pypi
dnspython 2.3.0 pypi_0 pypi
easydict 1.10 pypi_0 pypi
entrypoints 0.4 pypi_0 pypi
executing 1.2.0 pypi_0 pypi
fastjsonschema 2.16.2 pypi_0 pypi
filelock 3.8.0 pypi_0 pypi
fonttools 4.38.0 pypi_0 pypi
fqdn 1.5.1 pypi_0 pypi
future 0.18.2 pypi_0 pypi
google-auth 2.14.0 pypi_0 pypi
google-auth-oauthlib 0.4.6 pypi_0 pypi
grpcio 1.50.0 pypi_0 pypi
huggingface-hub 0.11.0 pypi_0 pypi
idna 3.4 pypi_0 pypi
imageio 2.22.4 pypi_0 pypi
imgviz 1.7.2 pypi_0 pypi
importlib-metadata 5.0.0 pypi_0 pypi
importlib-resources 5.10.1 pypi_0 pypi
imutils 0.5.4 pypi_0 pypi
intel-openmp 2022.2.1 pypi_0 pypi
ipykernel 6.17.1 pypi_0 pypi
ipython 8.6.0 pypi_0 pypi
ipython-genutils 0.2.0 pypi_0 pypi
ipywidgets 8.0.2 pypi_0 pypi
isoduration 20.11.0 pypi_0 pypi
jedi 0.18.1 pypi_0 pypi
jinja2 3.1.2 pypi_0 pypi
joblib 1.2.0 pypi_0 pypi
jsonpointer 2.3 pypi_0 pypi
jsonschema 4.17.3 pypi_0 pypi
jupyter 1.0.0 pypi_0 pypi
jupyter-client 7.4.8 pypi_0 pypi
jupyter-console 6.4.4 pypi_0 pypi
jupyter-core 5.1.0 pypi_0 pypi
jupyter-events 0.5.0 pypi_0 pypi
jupyter-server 2.0.0 pypi_0 pypi
jupyter-server-terminals 0.4.2 pypi_0 pypi
jupyterlab-pygments 0.2.2 pypi_0 pypi
jupyterlab-widgets 3.0.3 pypi_0 pypi
kiwisolver 1.4.4 pypi_0 pypi
labelme 5.1.1 pypi_0 pypi
markdown 3.4.1 pypi_0 pypi
markupsafe 2.1.1 pypi_0 pypi
matplotlib 3.6.2 pypi_0 pypi
matplotlib-inline 0.1.6 pypi_0 pypi
mistune 2.0.4 pypi_0 pypi
mkl 2022.2.1 pypi_0 pypi
mmcv-full 1.7.1 pypi_0 pypi
mmdet 2.28.2 pypi_0 pypi
mpmath 1.2.1 pypi_0 pypi
natsort 8.3.1 pypi_0 pypi
nbclassic 0.4.8 pypi_0 pypi
nbclient 0.7.2 pypi_0 pypi
nbconvert 7.2.6 pypi_0 pypi
nbformat 5.7.0 pypi_0 pypi
nest-asyncio 1.5.6 pypi_0 pypi
networkx 2.8.8 pypi_0 pypi
notebook 6.5.2 pypi_0 pypi
notebook-shim 0.2.2 pypi_0 pypi
numpy 1.23.0 pypi_0 pypi
oauthlib 3.2.2 pypi_0 pypi
onnx 1.12.0 pypi_0 pypi
onnx-coreml 1.3 pypi_0 pypi
opencv-python 4.6.0.66 pypi_0 pypi
openssl 1.1.1s h2bbff1b_0 defaults
packaging 21.3 pypi_0 pypi
pandas 1.5.1 pypi_0 pypi
pandocfilters 1.5.0 pypi_0 pypi
parso 0.8.3 pypi_0 pypi
pefile 2022.5.30 pypi_0 pypi
pickleshare 0.7.5 pypi_0 pypi
pillow 9.3.0 pypi_0 pypi
pip 22.2.2 py38haa95532_0 defaults
pkgutil-resolve-name 1.3.10 pypi_0 pypi
platformdirs 2.5.4 pypi_0 pypi
prometheus-client 0.15.0 pypi_0 pypi
prompt-toolkit 3.0.32 pypi_0 pypi
protobuf 3.19.6 pypi_0 pypi
psutil 5.9.3 pypi_0 pypi
pure-eval 0.2.2 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycocotools 2.0.6 pypi_0 pypi
pycparser 2.21 pypi_0 pypi
pygments 2.13.0 pypi_0 pypi
pyinstaller 5.6.2 pypi_0 pypi
pyinstaller-hooks-contrib 2022.13 pypi_0 pypi
pymongo 4.3.3 pypi_0 pypi
pyparsing 3.0.9 pypi_0 pypi
pyqt5 5.15.9 pypi_0 pypi
pyqt5-qt5 5.15.2 pypi_0 pypi
pyqt5-sip 12.11.1 pypi_0 pypi
pyrsistent 0.19.2 pypi_0 pypi
python 3.8.13 h6244533_1 defaults
python-dateutil 2.8.2 pypi_0 pypi
python-json-logger 2.0.4 pypi_0 pypi
pytz 2022.6 pypi_0 pypi
pywavelets 1.4.1 pypi_0 pypi
pywin32 305 pypi_0 pypi
pywin32-ctypes 0.2.0 pypi_0 pypi
pywinpty 2.0.9 pypi_0 pypi
pyyaml 6.0 pypi_0 pypi
pyzmq 24.0.1 pypi_0 pypi
qtconsole 5.4.0 pypi_0 pypi
qtpy 2.3.0 pypi_0 pypi
regex 2022.10.31 pypi_0 pypi
requests 2.28.1 pypi_0 pypi
requests-oauthlib 1.3.1 pypi_0 pypi
rfc3339-validator 0.1.4 pypi_0 pypi
rfc3986-validator 0.1.1 pypi_0 pypi
rsa 4.9 pypi_0 pypi
scikit-image 0.19.3 pypi_0 pypi
scikit-learn 1.2.2 pypi_0 pypi
scipy 1.8.0 pypi_0 pypi
seaborn 0.12.1 pypi_0 pypi
send2trash 1.8.0 pypi_0 pypi
setuptools 65.5.0 py38haa95532_0 defaults
six 1.16.0 pypi_0 pypi
sklearn 0.0.post1 pypi_0 pypi
sniffio 1.3.0 pypi_0 pypi
soupsieve 2.3.2.post1 pypi_0 pypi
sqlite 3.39.3 h2bbff1b_0 defaults
stack-data 0.6.0 pypi_0 pypi
sympy 1.11.1 pypi_0 pypi
tbb 2021.7.1 pypi_0 pypi
tensorboard 2.10.1 pypi_0 pypi
tensorboard-data-server 0.6.1 pypi_0 pypi
tensorboard-plugin-wit 1.8.1 pypi_0 pypi
termcolor 2.2.0 pypi_0 pypi
terminado 0.17.1 pypi_0 pypi
terminaltables 3.1.10 pypi_0 pypi
thop 0.1.1-2209072238 pypi_0 pypi
threadpoolctl 3.1.0 pypi_0 pypi
tifffile 2022.10.10 pypi_0 pypi
tinycss2 1.2.1 pypi_0 pypi
tokenizers 0.13.2 pypi_0 pypi
torch 1.12.1+cu116 pypi_0 pypi
torchaudio 0.12.1+cu116 pypi_0 pypi
torchvision 0.13.1+cu116 pypi_0 pypi
tornado 6.2 pypi_0 pypi
tqdm 4.64.1 pypi_0 pypi
traitlets 5.5.0 pypi_0 pypi
transformers 4.24.0 pypi_0 pypi
typing 3.7.4.3 pypi_0 pypi
typing-extensions 4.4.0 pypi_0 pypi
uri-template 1.2.0 pypi_0 pypi
urllib3 1.26.12 pypi_0 pypi
vc 14.2 h21ff451_1 defaults
vs2015_runtime 14.27.29016 h5e58377_2 defaults
wcwidth 0.2.5 pypi_0 pypi
webcolors 1.12 pypi_0 pypi
webencodings 0.5.1 pypi_0 pypi
websocket-client 1.4.2 pypi_0 pypi
werkzeug 2.2.2 pypi_0 pypi
wheel 0.37.1 pyhd3eb1b0_0 defaults
widgetsnbextension 4.0.3 pypi_0 pypi
wincertstore 0.2 py38haa95532_2 defaults
xmltodict 0.13.0 pypi_0 pypi
yapf 0.32.0 pypi_0 pypi
zipp 3.10.0 pypi_0 pypi
看着有点杂乱,大家只需要安装自己需要的就行。
三、数据集配置
我在框架代码下新建了to-data文件夹来存放,如图:
接下来在代码中配置,如图:
打开coco.py文件,更改自己数据集中类别,如图:
具体修改如下图:
最后更改类别数目,如下图:
四、训练
执行以下命令:
python tools/train.py configs/solov2/solov2_r50_fpn_1x_coco.py
五、测试
测试命令:
python test.py
最后附上测试结果: