专栏名称: 点云PCL
公众号将会推送基于PCL库的点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维世界相关内容的干货分享。不仅组织技术交流群,而且组建github组群,有兴趣的小伙伴们可以自由的分享。欢迎关注参与交流或分享。
目录
相关文章推荐
一念行者  ·  抵达语言的边界 ·  2 天前  
51好读  ›  专栏  ›  点云PCL

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

点云PCL  · 公众号  ·  · 2023-08-21 08:00

正文


公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:cloudpoint9527。 本文来自点云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

import torchtorch.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点云地图中的定位方法

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

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

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

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

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

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

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

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

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

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

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

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

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

ROS2入门之基本介绍

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

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

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

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

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

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

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍







请到「今天看啥」查看全文


推荐文章
一念行者  ·  抵达语言的边界
2 天前
婚姻家庭那些事儿  ·  " 他没有很忙,只是你不够重要 "
7 年前
摄影笔记  ·  摄友照片点评
7 年前
独角兽智库  ·  【观点】为什么拒绝成为巴菲特?
7 年前