修改PyTorch预训练模型的下载路径

PyTorch可以下载很多预训练好的神经网络,用起来会很方便。但是默认的下载路径是用户根目录下的.cache文件夹。在Linux和Mac下还比较符合用户习惯,但是在windows下就是C:\Users\<username>\.cache。不仅不符合很多windows用户的使用习惯而且不利于文件的保存。另外如果是多人共享的Linux服务器,每个用户都下载一遍这些训练好的神经网络明显是一种浪费。最好是放置在/var、/opt或者/usr/local等一类共享目录里。

但是默认情况下,PyTorch里加载模型的API是不提供修改保存位置的功能的。

# 调用方式
model = torchvision.models.resnet50(pretrained=True)
# API中对应的函数声明
torchvision.models.resnet50(pretrained=False, progress=True, **kwargs)

通过观察源代码,可以发现当pretrained为True时,PyTorch会调用torch.utilsload_state_dict_from_url函数,而这个函数最终调用torch.utils.model_zoo.load_url函数。其中的参数model_dir就是保存的目录,这里它默认会使用环境变量TORCH_HOME。默认情况下环境变量TORCH_HOME的值为~/.cache,在windows下就是%USERPROFILE%\.cache,其中%USERPROFILE%表示环境变量%USERPROFILE%的值,它对应Linux的~

所以我们要修改PyTorch下载文件的保存路径,只要在下载模型前,修改环境变量TORCH_HOME的值即可。
有两种修改方法,第一种是一劳永逸地在操作系统里设置对应的环境变量。具体的方法可以自行搜索。
另一种是在代码里临时添加对应的条目,对应的代码如下,但是需要注意每次python重新启动都需要重新设置。

import os
os.environ['TORCH_HOME']='E:/Data/torch-model'

在运行上面代码之后,重新加载模型时就会在这个目录下载和加载了。


这个链接是PyTorch提供的视觉方面的神经网络列表和描述。
https://pytorch.org/docs/stable/torchvision/models.html#torchvision-models


参考资料:
https://stackoverflow.com/questions/52628270/is-there-any-way-i-can-download-the-pre-trained-models-available-in-pytorch-to-a

  • 44
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
1. 安装pytorch和yolov5 首先需要安装pytorch和yolov5,可以使用以下命令进行安装: ``` pip install torch torchvision git clone https://github.com/ultralytics/yolov5.git ``` 2. 准备数据集 在训练yolov5模型之前,需要准备训练数据集。数据集应该包括图像和标签文件。标签文件应该是一个.txt文件,每个文件对应一个图像文件,其中每一行都是一个目标框的信息,包括类别、框的位置和大小等。在使用yolov5,需要将标签文件转换为yolov5所需的格式。可以使用以下命令将标签文件转换为yolov5格式: ``` python3 yolov5/utils/datasets/convert.py --input_path /path/to/label/files --output_path /path/to/yolov5/labels --img_size 640 ``` 其中,--input_path指定标签文件的路径,--output_path指定转换后的标签文件保存的路径,--img_size指定训练图像的大小。 3. 配置训练参数 在训练yolov5模型之前,需要配置训练参数。可以使用yolov5/models/yolov5s.yaml文件作为基础配置文件,根据需要进行修改。可以修改的参数包括网络结构、训练参数、数据增强等。需要根据自己的需求进行配置。 4. 开始训练 使用以下命令开始训练yolov5模型: ``` python3 train.py --img /path/to/images --batch 16 --epochs 50 --data /path/to/data.yaml --cfg yolov5/models/yolov5s.yaml --weights yolov5s.pt ``` 其中,--img指定训练图像的路径,--batch指定训练批次的大小,--epochs指定训练的轮数,--data指定数据集的配置文件,--cfg指定模型的配置文件,--weights指定预训练模型的权重文件。 训练过程中,模型的权重文件会保存在runs/train/exp/weights/目录下。 5. 测试模型 使用以下命令测试训练好的模型: ``` python3 detect.py --source /path/to/images --weights runs/train/exp/weights/best.pt ``` 其中,--source指定测试图像的路径,--weights指定要测试的模型的权重文件。 测试过程中,模型会对每张测试图像进行预测,并将预测结果保存在runs/detect/exp/目录下。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值