前言
上周花了半天时间在Windows下安装pytorch库,这里记录了参考博客和踩坑过程,我也不知道我能坚持多久,但我想通过记录的方式让这个过程更有趣,更有意义,期待朋友们的一起分享,理论课程固然重要,但实践出真知,所以还是先配置环境,并运行一些实例激发我们的兴趣吧!
安装过程
Windows下安装pytorch参考:
https://blog.csdn.net/LeMonMannnn/article/details/130976707
过程中遇到了不少问题,这是难免的,花了半天时间终于成功了
首先根据官网先走一篇tutorial:https://pytorch.org/tutorials/beginner/basics/intro.html
学习教程中给出这样的提示:如果您熟悉其他深度学习框架,请首先查看“0. 快速入门”部分,以快速熟悉PyTorch的API。如果您对深度学习框架不熟悉,请直接进入我们逐步指南的第一部分:张量(Tensors)。
这是入门学习所以先熟悉一下张量,张量是一种数学和计算机科学领域的概念,用于表示多维数据。在机器学习和深度学习中,张量是一个非常重要的概念,用于存储和处理多维数据,例如图像、文本、声音等。在数学上,标量是零维数据(单个值),向量是一维数据(有序值列表),矩阵是二维数据(表格形式的值集合),而张量则可以看作是多维数据,可以有任意数量的维度。例如,一个三维张量可以看作是一个立方体状的数据集,其中每个元素由三个坐标索引来唯一确定。在深度学习框架如PyTorch和TensorFlow中,张量是数据的基本单位,用于构建神经网络模型并执行计算。张量不仅可以存储数据,还可以进行各种数学运算,如加法、乘法、卷积等。此外,这些框架为张量提供了在GPU等硬件上进行高效计算的功能,从而加速模型训练和推断过程。实际上,张量和NumPy数组通常可以共享相同的底层内存,消除了复制数据的需要。张量还经过优化,用于自动微分。
这里B站上有课程,可以自行搜索,这里我不再推荐了。
为了防止在听课疲劳,我在在一边听课学习张量,一边按照步骤实现yolo v5,网上关于深度学习的教程是真的太多了,每个人都有自己的看法和理解,这里我仅仅记录我的操作步骤,具体理论等待我学习完张量后再回头学习,可以尝试安装官网教程:
https://docs.ultralytics.com/yolov5/quickstart_tutorial/
我的PC是安装了Anaconda并且安装了pycharm,首先下载yolo V5源码:https://github.com/ultralytics/yolov5.git
然后我们使用pycharm打开yoloV5的源码
进行工程配置,选择File->Setting选择anaconda环境中的python版本,如果使用默认的工程配置将会出现安装错误。
配置完成后我们需要在终端运行 pip install -r requirements.txt 安装必要的依赖项
运行log如下,结果保存在runs\detect\exp3中,找到文件看一看
可视化结果
但我发现在运行的时候只能用CPU而不能使用我那1050的GPU,归根原因就是CUDA、cudnn、torch版本不对应。
使用如下命令检查发现GPU不可以用为False
import torch
torch.cuda.is_available()
又折腾了半天cuda和pytorch的版本问题,重新安装cuda 和pytorch的版本,反正又是折腾了一天的时间。我感觉新手肯定要在环境上折腾几次,因为想要利用cuda,而不是每次都是在CPU上,折腾了很久,终于我是安装成功了
虽然GPU版本可用了但是在运行yolo v5的时候出现下面的错误,说是torchvision版本不对
然后我根据网上的资料说是pytorch的版太高了,继续卸载重新安装,这次因为我在anaconda设置我的环境变量的时候总是安装到C盘,所以根据这篇博客将我的环境设置到D盘,防止后期C盘爆了:
https://blog.csdn.net/weixin_48373309/article/details/127830801
在设置完新的环境变量后我执行了下面的命令:
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia
终于算是可以正常使用我PC自带的独立显卡了
同时为了查看我在运行yolo的时候是否会出现上面不能使用GPU的情况,结果一切正常如下图
然后可以针对这个工程改一改参数,改一改配置查看不同的推理结果。同时我也安装了labelImg(标注工具)用于后期标注体验,完成一整套学习流程。
总结
折腾了两个周末 ,新手入门在windows下安装pytorch环境这块可能就会让人奔溃掉,运行环境对版本一致性的要求很高,可以这么说一次性就安装成功的概率是比较低的,不过在windows下使用还是网上的资料还是比较多的。遇到问题解决起来比较好查找。曾经在Ubuntu下也安装过,问题同样也不少,但如果遇到一些安装问题,真的是难以解决。我知道的一个Ubuntu下安装cuda驱动的时候经常会出现,无法进入Ubuntu界面,或者是循环输入密码,跳回输入密码的界面。这是因为驱动冲突的问题导致,搞奔溃ubuntu系统是常有的事,关键看是否愿意花时间坚持下去。以上是我的个人入门笔记,在无人指点,没有引导者的条件下,自行摸索学习,计划就是在以yolo为实例的前提下,将深度学习基础理论一边学习一边搞明白yolo源码。欢迎各位有入门经验的朋友可以分享一下入门步骤,以及学习中的注意事项。
进群交流--》想入门深度学习有感
添加微信“cloudpoint9527”(姓名+公司+研究方向)
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享