Python —— Windows10下配置Pytorch环境、进行训练模型并测试(完整流程,附有视频)

最终效果


在这里插入图片描述

配置流程

     一、下载安装显卡驱动

          1、查看设备管理器显卡是否为NVIDIA,并确定显卡型号

在这里插入图片描述

          2、根据显卡型号然后NVIDIA官网下载安装显卡驱动

               下载完成后,双击一步一步执行即可。

在这里插入图片描述

          3、安装完成驱动后,打开cmd终端输入"nvidia-smi"查看是否正常,若不正常则将C:\Program Files\NVIDIA Corporation\NVSMI添加到环境变量的path中。

在这里插入图片描述

     二、下载安装配置CUDA、cuDNN

          1、下载CUDA 10.02 并安装配置,这里我们使用10.2版本进行演示。

在这里插入图片描述

               双击下载的exe,选择自定义后,正常安装即可。

在这里插入图片描述

               安装结束后,系统会自动添加两个环境变量。
               (详细检查如下代码行内环境变量,需与自己电脑一致)

------------- 1、在环境变量中添加如下键值对(参考下图1部分) -------------
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2 
CUDA_LIB_PATH =%CUDA_PATH%\lib\x64 
CUDA_BIN_PATH = %CUDA_PATH%\bin 
CUDA_SDK_BIN_PATH =%CUDA_SDK_PATH%\bin\win64 
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

------------- 2、在Path环境变量中添加一行如下用;间隔的环境变量(参考下图2部分) -------------
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64;

在这里插入图片描述

          2、下载cuDNN 10.02 并安装配置

                    对于cudnn直接将其解开压缩包,然后需要将bin,include,lib中的文件复制粘贴到cuda的文件夹下C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

在这里插入图片描述

          3、CUDA配置测试

               在cmd终端执行"nvcc -V"

在这里插入图片描述


     三、下载安装Anaconda

          注意1:在安装本步骤前自行安装Python3.8.8。若已安装其他版本则删除,重新安装该3.8.8版本

          注意2:若安装Anaconda结束后发现安装目录下缺失很多文件,那么先卸载安装Anaconda;然后找到C:\Users\Administrator\下的.condarc文件和.conda文件夹删除后再次安装Anaconda。

          Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

在这里插入图片描述
在这里插入图片描述

          安装完毕后打开conda程序如下图,然后修改Aanaconda国内镜像配置
在这里插入图片描述

// 修改国内镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

/*
	附加提示,若镜像源更慢那么可以恢复初始镜像源
	conda config --remove-key channels
*/


     四、下载安装Pytorch

          注意:使用yolov5版本v5.0代码,安装pytorch1.7以上的版本

          打开conda程序,如上图。

// 创建pytorch1.8.1虚拟环境 
conda create -n pytorch1.8.1 python=3.8.8

// 生效并进入pytorch1.8.1虚拟环境
conda activate pytorch1.8.1

// 在所创建的pytorch环境下在线安装pytorch的1.8.1版本
pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html


/*1:删除虚拟环境:
		conda activate base					// 切换到基本环境
		conda env remove -n pytorch1.8.1 	// 删除pytorch1.8.1虚拟环境

	附2:若在线安装pytorch时下载太慢或失败则在下载指令后加入如下代码,下列代码为指定国内镜像源
		-i http://pypi.douban.com/simple --trusted-host pypi.douban.com
*/


          在线安装pytorch的1.8.1版本指令来源于PyTorch官网,可以参考:

在这里插入图片描述


          安装完毕后,执行如下图若没有出错则说明安装成功。

import torch
print(torch.__version__)
print(torch.version.cuda)
torch.cuda.is_available()    
print(torch.cuda.device_count())

在这里插入图片描述


     五、YOLOv5项目克隆和安装

          1、将yolov5源码下载

git clone https://github.com/ultralytics/yolov5.git

          2、解压yolov5源码并在conda终端中进入该源码目录中

// 安装所需要的库。后面的-i..为镜像源 可自行修改
pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

          3、下载训练权重文件(提取码:gelf)

               将下载文件中的yolov5s.pt拷贝到yolov5源码的weights文件夹下(若weights文件夹不存在,则创建)。执行如下命令,然后查看yolov5源码目录的runs/detect/exp目录是否生成了检测后的两张图片。

// 使用weights/yolov5s.pt模型对./data/images/目录下的图片进行detect.py的逻辑检测后输出检测后的图片至./run/detect/exp目录下
python detect.py --source ./data/images/ --weights weights/yolov5s.pt --conf 0.4

在这里插入图片描述


     六、训练模型(如下视频1(较粗演示)如下视频2(较细演示)

          本文5.3已下载了训练权重文件(提取码:gelf)

笔者

笔者 - jxd

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用以下代码在pytorch上写训练模型测试集,对测试进行预测: ``` # 加载测试集数据 test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size, shuffle=False) # 设置模型为评估模式 model.eval() # 预测测试集 with torch.no_grad(): for data in test_loader: inputs, labels = data inputs, labels = inputs.to(device), labels.to(device) outputs = model(inputs) _, predicted = torch.max(outputs.data, 1) # 在这里可以对预测结果进行处理 ``` 注意,这只是一个示例代码,具体实现需要根据具体情况进行调整。 ### 回答2: 在PyTorch上编写和训练模型后,可以使用以下代码对测试进行预测: 首先,确保模型已经加载并准备好进行推理。 ```python import torch # 加载模型 model = torch.load('model.pth') ``` 接下来,准备测试集数据。假设测试集数据保存在名为`test_data`的变量中。 ```python test_data = ... ``` 然后,将测试集数据转换为PyTorch Tensor对象,并通过模型进行预测。 ```python # 转换为Tensor对象 test_tensor = torch.Tensor(test_data) # 模型推理 model.eval() with torch.no_grad(): predictions = model(test_tensor) ``` 预测结果将保存在名为`predictions`的变量中。 最后,你可以根据需要进行后续处理,如将Tensor转换为Numpy数组或进行其他计算。 这是一个示例代码片段,你可以根据自己的需求进行修改和适应。请确保实际使用时,模型和测试集数据已正确加载和准备好。 ### 回答3: 在PyTorch中,可以通过以下代码来编写训练模型并对测试进行预测。 首先,我们需要导入必要的库。 ```python import torch import torch.nn as nn import torch.optim as optim ``` 接下来,我们定义模型的结构。这里以一个简单的全连接神经网络为例: ```python class SimpleNet(nn.Module): def __init__(self): super(SimpleNet, self).__init__() self.fc1 = nn.Linear(10, 20) self.relu = nn.ReLU() self.fc2 = nn.Linear(20, 1) self.sigmoid = nn.Sigmoid() def forward(self, x): x = self.fc1(x) x = self.relu(x) x = self.fc2(x) x = self.sigmoid(x) return x model = SimpleNet() ``` 然后,我们加载已经训练好的模型参数。 ```python model.load_state_dict(torch.load('model.pth')) ``` 接下来,我们需要定义测试数据集。这里以一个简单的例子为例,我们可以使用随机生成的数据进行测试。 ```python test_data = torch.randn(100, 10) # 100个样本,每个样本有10个特征 ``` 现在,我们可以将测试数据输入到训练好的模型中进行预测。 ```python with torch.no_grad(): test_output = model(test_data) ``` 最后,我们可以根据预测结果进行后续的评估、分析等操作。 ```python # 对预测结果进行处理 predictions = test_output.round() # 四舍五入取整 # 对预测结果进行输出 for i, prediction in enumerate(predictions): print(f"样本{i + 1}的预测结果为: {prediction.item()}") ``` 以上就是使用PyTorch进行模型的测试集预测的基本代码。根据实际情况,你还可以对模型的输入输出进行相应的调整和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信必诺

嗨,支持下哥们呗。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值