pytorch版本对应关系查看网址:
pytorch torchvision
pytorch安装方式
点击pytorch链接:pytorch
torchvision安装方式
sudo apt-get install libjpeg-dev zlib1g-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.7.0 https://github.com/pytorch/vision vision-0.7.0
cd vision-0.7.0
python setup.py install
由于yolov5环境包需要在python3.8 pytorch1.8以上运行,兼容至python3.6 pytorch1.6版本需做如下更改:
git clone https://github.com/cryptoer-satoshi/jetson-nano
cd jetson-nano
pip3 install --no-deps ultralytics-8.0.208.tar.gz
#–no-deps表示禁用依赖项的安装
pip show torch
#找到pytorch的存储位置,如下图
打开torch/nn/modules/activation.py添加代码:
class SiLU(Module):
def forward(self,x):
return x * torch.sigmoid(x)
class Hardswish(Module):
def forward(self,x):
return x * F.hardtanh(x + 3, 0., 6.) / 6.
打开torch/nn/modules/__init.py:
第5行导包中添加SiLU
from .activation import SiLU,......
第35行列表中添加SiLU
__all__ = ['SiLU',......]
保存后测试是否导入成功,没报错则成功
python
from torch import nn
nn.SiLU()
下载yolov5源码,下载链接:yolov5
或直接输入命令
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt #安装适应的版本
python detect.py #会自动下载模型或点击链接前往官方下载
yolov5官方模型或自己在高版本训练模型版本兼容旧版本
import torch
import os
#load_path = os.path.join("weights/yolov5n.pt")
#ckpt = torch.load(load_path)
#print(ckpt.get('model'))
#ckpt = {'epoch': ckpt.get('epoch'),
# 'best_fitness': ckpt.get('best_fitness'),
# 'training_results': ckpt.get('training_results'),
# 'model': ckpt.get('model'),
# 'ema': ckpt.get('ema'),
# 'updates': ckpt.get('updates'),
# 'optimizer': ckpt.get('optimizer'),
# 'wandb_id': ckpt.get('wandb_id')}
在训练过程中模型保存设置参数_use_new_zipfile_serialization=False
torch.save(ckpt,save_path,_use_new_zipfile_serialization=False)#False代表使用旧版本
yolo转tensorRT参考:tensorrtx
pycuda安装2020版本或更早版本
pip3 install pycuda==2020.1