本来玩这些都是满足自己的爱好,然而嘛,,同学突然建议我写一些blog,我才突然想到,是哦,现在怎么投简历都是已读不回,索性把自己的项目都搬上来做个博客吧hhh,说不定也能为简历加点分,毕竟宜家揾食艰难哦~
这个是深度学习的代码,用python3.7 Torch 1.9.1,我的电脑配置是AMD r4900 + RTX2060 (笔记本)稳定50帧左右还是没问题的
源po主:乌萨斯肃反委员会 (opti_wx) - Gitee.com 他的这个代码的原创性确实可以,但是可能少了一点说明。话不多说,进入项目吧!
关于训练,我们先把环境搭建完毕
pip3 --no-cache-dir install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
pip install -r requirements.txt
pip install pyqt5
pip install mss
pip install pynput
然后进入你python环境的解释器目录
print(torch.cuda.is_available())
如果像这样是True就没问题了,现在环境搭建好了,我们来开始训练。
数据集参考coco128的路径
数据集:
链接:https://pan.baidu.com/s/1cSh0JcPgHRBo2pzbuGSpMg
提取码:zert
然后找到train.py这个文件
大部分都是官方写好的文件,我们能改的比较少,batchsize是可以改的,还有一些CPU核心数等奇奇怪怪的东西。我因为运行内存是16+8,运行环境在E盘,有40多个G的空余可以虚拟化,所以没怎么担心,如果你运行内存不够,恰巧python又安装到C潘,那你可能需要吧python环境迁移,这个参考我的另一篇教程。
我们改动的只有这个cheat_CS16.yaml,他是处理数据的。
进入cheat_CS16.yaml
nc是类别,这个数据集已经标注了警匪,body,还有枪支。顺序不要乱来,我这个是已经确定了的顺序。上面的train 和val 是训练集和验证集。按你的路径走就行。
开始训练,我的电脑跑了99轮,9个小时
如果你不想那么久的话,也可以只跑10轮。。跑完之后的文件在
exp15就是我跑出来的结果,里面还有best.pt这个模型,还有训练时的各种数据图,准确率等等。
可以看到准确率还是不错的!然后怎么去使用这个best.py呢?
我们进去主函数main里面
threadDetect = detectMss.threading_detect(1, 'mssDetect')
threadWin = QtWindow(2, 'Window', 'police')
listener = pynput.mouse.Listener(on_click=on_click)
listener.start()
threadWin.start()
threadDetect.start()
threadWin.join()
进入第一行threading_detect()函数。然后就会发现一个run()函数。
def run(self,
#weights=ROOT / 'pretrained/yolov5s.pt', # model.pt path(s)
weights=ROOT / 'pretrained/yolov5Cs16.pt',
imgsz=[640, 640], # inference size (pixels)
conf_thres=0.25, # confidence threshold
iou_thres=0.45, # NMS IOU threshold
max_det=1000, # maximum detections per image
device=0, # cuda device, i.e. 0 or 0,1,2,3 or cpu
weights就放置你训练的模型就可以了,一般用这个自带的就挺不错。
有的人可能会因为numpy版本不匹配报错,具体是int和_int值的区别,这个自行搜索。
然后打开我们的游戏,打开程序,运行,完成。