1,import找不到模块,加一句import sys
即可解决
2,训练时尽量给绝对路径,相对路径容易找不到容易出错。
3,报错一:bash: python: command not found
- 解决一:
sudo apt-get install python3
- 报错二:
Unable to locate package python3
- 解决二:先更新update:
sudo apt-get update
,注意不是sudo apt-get install update
- 解决一:
sudo apt-get install python3
即可成功
4,问题:打开txt文件后,f.read()返回空
- 解决:加一句
f.seek(0)
,再f.read(0)
,即可。原理是把光标移动到开头再读取,否则读取的是文件末尾。
5,训练yolov7-pose时,遇到错误:cannot reshape array of size 55 into shape (2)
- 思路:调试时发现utils/dateset.py中生成cache文件的代码中,默认了kpt-label为false,代表检测的是框而非关键点,此处训练yolov7-pose应该kpt-label=true。
- 详解:size55指的是txt文件中框和关键点共4+17×3=55个数据;shape (2)指的是utils/dateset.py代码中将这55个数据转化为shape (-1,2),代表生成两列,行数自动算;问题就在于这两者不匹配,kpt-label=false时才需要转为shape (-1,2)来训练框。
- 解决:训练指令加一句
--kpt-label
即可给kpt-label赋值为true。 - 完整指令:
python train.py --data ./data/coco_kpts.yaml --cfg cfg/yolov7-w6-pose.yaml --weights './weights/yolov7-w6-person.pt' --batch-size 8 --kpt-label | tee ./file.txt
。| tee ./file.txt
是为了将训练记录输出到file.txt文件中
6,文件复制/移动/删除指令
cp dir1/a.doc dir2
表示将dir1下的a.doc文件复制到dir2目录下
cp -r dir1 dir2
表示将dir1及其dir1下所包含的文件复制到dir2下
cp -r dir1/. dir2
表示将dir1下的文件复制到dir2,不包括dir1目录
cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖;mv AAA BBB
目标目录与原目录一致,指定了新文件名,效果就是仅仅重命名。目标目录与原目录不一致,没有指定新文件名,效果就是仅仅移动。目标目录与原目录不一致,指定了新文件名,效果就是:移动 + 重命名。rm -rf dir
删除dir文件夹
7,将数据集上传到AutoDL中时,先压缩再上传,如果是文件夹容易确实文件
8,模型部署相关
pip install onnx coremltools onnx-simplifier
- 简化:
python -m onnxsim filename.onnx filename-sim.onnx
sudo apt-get update
sudo apt-get install zip
zip filename-sim.zip filename-sim.onnx
打包后方便下载到阿里云盘
9,训练时输出网络结构
pip install torchsummary
from torchsummary import summary
summary(model_pos_train.cuda(), input_size=(1024,17,2))