前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习入门之pytorch环境安装

深度学习入门之pytorch环境安装

作者头像
点云PCL博主
发布2023-08-21 17:16:17
2160
发布2023-08-21 17:16:17
举报
文章被收录于专栏:点云PCL点云PCL

前言

上周花了半天时间在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

代码语言:javascript
复制
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

在设置完新的环境变量后我执行了下面的命令:

代码语言:javascript
复制
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点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档