ubuntu20配置深度学习环境

目录

  • 系统环境
  • 安装anaconda
    • 文件的安装
    • anaconda环境配置
      • anaconda换中科大源
      • 常用的anaconda命令
  • 安装显卡驱动
  • 安装CUDA
  • 下载cudnn
  • 安装pytorch
    • 更换conda源
    • 选择对应的pytorch版本进行安装

系统环境

ubuntu20,安装了ros noetic。

参考博客主要有:

  1. https://github.com/afeng616/Build-Cozy-Ubuntu-Environment/blob/master/documents/07-%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.md
  2. https://blog.csdn.net/weixin_46414430/article/details/129266433

安装anaconda

文件的安装

直接在清华镜像上下载。
我直接下载最新版本,Anaconda3-2024.02-1-Linux-x86_64.sh
在下载的地方,敲命令安装:

bash Anaconda3-2024.02-1-Linux-x86_64.sh

然后按回车,接下来就有很多条款部分,直接按q跳出
会出现下面的画面,输入yes后按回车。
在这里插入图片描述
接着就是设置安装位置,这里我选择默认安装地址。按完回车后就是等待安装的过程。
最后安装完后,会有选项:需不需要初始化,我们填yes,需要初始化。
在这里插入图片描述

anaconda环境配置

安装完后,还需要配置conda,使得conda这个指令能用在任何地方,像python,code这种一样。
主要是去修改~/.bashrc文件。

gedit ~/.bashrc

然后在最后面一行添加anaconda的bin目录,就是前面安装的时候设置的目录。

export PATH="/home/xz/anaconda3/bin:$PATH"

最后就是source这个文件来生效

source ~/.bashrc

这是在终端输入conda,显示一系列帮助信息就说明conda安装成功。

(PS):如果不想新开的终端就在base环境中的话,可以进行设置:

conda config --set auto_activate_base false

anaconda换中科大源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
conda config --show channels

常用的anaconda命令

# 创建环境
conda create -n xxx python=3.8
# 激活环境
conda activate xxx
# 删除环境
conda remove -n xxx --all
# 查看目前已有的环境
conda env list

安装显卡驱动

最简单方便的方法就是直接在软件更新的附加驱动上直接安装,装完重启即可,如果去安装官网的驱动,操作难度大,可能系统桌面都进不去,反正我之前在ubuntu18系统上安装过一次,但是进不去系统桌面,最后卸载了好不容易才能进系统桌面,所以还是推荐软件更新去安装显卡驱动的方法。
在这里插入图片描述
这里我是安装了535,看其他博客说不要安装server后缀和open后缀的就行,然后重启。
检查是否成功安装,只需要在终端输入nvidia-smi,显示出具体显卡信息即可。

在这里插入图片描述

安装CUDA

安装前的准备:卸载之前残留的CUDA,保证安装前的环境干净

sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \"*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" 
sudo apt-get autoremove
  1. 这个主要是看显卡版本去安装,由上面nvidia-smi显示的信息,看到显卡是3090,可以安装最高版本的是CUDA12.2.(我的笔记本显卡3050,同样也是支持最高版本CUDA12.2)
    这里我参考这篇博客:https://blog.csdn.net/weixin_46414430/article/details/129266433。安装CUDA11.6.0.

  2. 下载CUDA文件,下载地址:https://developer.nvidia.com/cuda-toolkit-archive。选择11.6.0版本
    在这里插入图片描述

  3. 瞄的,中文英伟达网站没有CUDA的历史版本,在外网下CUDA11.6.0又容易到99%的时候失败!!!WTF在这里插入图片描述
    实了4,5次,还是失败,最后用浏览器来下载,直接把这个http地址输入到谷歌浏览器中,即可通过浏览器下载,下完了也不会报错。

  4. 安装cuda11.6之前先安装一些依赖的库文件

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  1. 用下载好的文件来进行安装。
sudo sh cuda_11.6.0_510.39.01_linux.run

在选择continue后,在相应位置上填上accept
在这里插入图片描述
注意这个时候需要把这个cuda安装包的驱动取消,按空格取消安装(因为前面已经安装了一个),取消后选择install即可
在这里插入图片描述
最后安装完,报了一个警报,说没安装这个510驱动,这里没所谓。
在这里插入图片描述
6. 配置CUDA的环境
可以在usr/local下看到两个文件夹:cuda-11.6和cuda,cuda其实是安装的时候自动创建的软链接,连接到11.6上
在这里插入图片描述
打开~/.bashrc文件

sudo gedit ~/.bashrc

然后在配置anaconda路径前面加上:(其他博客有说最好是把anaconda的路径放在.bashrc的最末尾)

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

然后source一下

source ~/.bashrc
  1. 验证是否安装成功
    随便新开一个终端,输入:
nvcc --version

显示cuda版本是11.6说明安装成功。

下载cudnn

下载的链接:https://developer.nvidia.com/rdp/cudnn-archive
推荐中文链接:https://developer.nvidia.cn/rdp/cudnn-archive
这里我选择的是cudnn8.4.1 for cuda 11.x的tar版本
在这里插入图片描述
垃圾英伟达还要登陆才能下,又浪费快半个小时!!!!!

  1. 下载完后进行解压:并且将对应的库和头文件移到cuda目录中
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xzsudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
  1. 检查cudnn
cat /usr/local/cuda-11.6/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

安装pytorch

不知道为什么,前面conda配置的源好像连接不上,所以在安装前先换下conda的源。

更换conda源

  1. 先恢复默认源
conda config --remove-key channels
  1. 添加清华镜像源
#添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2#显示检索路径
conda config --set show_channel_urls yes#显示镜像通道
conda config --show channels

选择对应的pytorch版本进行安装

pytorch历史版本的链接:pytorch
这里选择的pytorch版本为v1.12.0。它这边在Linux and Window这里支持CUDA 11.6版本。所以我们选择它。
从链接中找到对应CUDA11.6版本的conda安装命令

  1. 创建一个anaconda环境
conda create -n nerf-pytorch python=3.8
  1. 进入anaconda环境
conda activate nerf-pytorch
  1. 安装pytorch(从官网复制下来的指令)。安装的时候需要注意,因为conda配置了清华源,最好把翻墙的关了,不然有可能下载的时候出问题,出问题了也别慌,重复下面的命令即可。
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.6 -c pytorch -c conda-forge

上面是通过conda来安装,但是实际装完后,运行脚本训练的时候,会报错,可能是安装了非GPU的pytorch,看到一片博客说最好还是用pip来安装

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116

注意:最好还是通过pip来安装,能够保证装的是GPU的pytorch。反正我的情况是用conda装,跑训练报错,用pip装,就可以正常跑训练。

最后成功安装
在这里插入图片描述

  1. 检查pytorch是否成功
    在终端输入python,然后import pytorch的包,如果正确找到pytorch的包应该就没问题
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6664.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript 练习 写一个简单 另类录入 电脑组装报价表 可打印

数据格式 &#xff08;1代表cpu、2代表主板、3代表内存、。。。&#xff09; 1i3 12100 630 2H610 480 3DDR4 3200 16G 220 4500G M.2 299 5300W电源 150 6小机箱 85 7GT 730G 4G 350 8WD 2T 399 9飞利浦 24Led 580 主代码 Html JS <!DOCTYPE html> <html lang&qu…

Linux zImage image是什么

2024年5月4日&#xff0c;周六下午 Linux zImage是Linux内核的一种压缩格式。在Linux系统中&#xff0c;内核通常以zImage格式存储在启动介质&#xff08;如硬盘、闪存等&#xff09;上&#xff0c;并由引导加载程序加载到内存中执行。 zImage是一种压缩的内核映像格式&#x…

Python学习笔记------pycharts模块

pyecharts模块简介 Echarts是个由百度开源的数据可视化&#xff0c;凭借着良好的交互性&#xff0c;精巧的图表设计&#xff0c;得到众多开发者的认可&#xff0c;而python是门富有表达力的语言&#xff0c;很适合用于数据处理&#xff0c;当数据分析遇上数据可视化时pyechart…

EPAI手绘建模APP演示板、材质编辑器、样式编辑器

(11) 更多 图 74 更多工具栏 ① 演示板&#xff1a;打开关闭演示板。演示板用来显示从设备导入的模型图纸图片或者打开模型建模教程网页&#xff0c;是建模过程中一个辅助功能。有些设备有小窗口功能有些没有&#xff0c;对于没有小窗口功能的设备&#xff0c;通过演示板能够在…

LeetCode--质数

Q: 输出 100 以内所有质数 1.0 /* 第一层循环控制检查到哪个数* 第二层通过遍历除以每个比他小的数的方式,检查每个数是不是质数* 由于要遍历检查,设置一个标记,只要任意一次循环可以整除,我们就设置该标记为不是质数 */boolean isPrime true;for (int i 2; i < 100; i)…

Boosting算法揭秘:从原理到scikit-learn实战

Boosting算法揭秘&#xff1a;从原理到scikit-learn实战 在机器学习的江湖中&#xff0c;Boosting算法以其强大的预测能力和独特的训练方式占据了一席之地。与Bagging算法并行训练的理念不同&#xff0c;Boosting算法更注重模型的串行迭代和错误修正。本文将从Boosting算法的基…

一键自动化博客发布工具,chrome和firfox详细配置

blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。 很多小伙伴可能对于如何进行配置和启动不是很了解&#xff0c;今天带给大家一个详细的保姆教程&#xff0c;只需要跟着我的步骤一步来就可以无障碍启动了。 前提条件 前提条件当然是先下…

ios app 之 中国大陆 ICP备案问题

从2024年3月份起&#xff0c;上传到苹果商店&#xff08;app store connect&#xff09;中的app, 若使用地区中选择了 亚太地区 - 中国大陆&#xff0c; 则需要上传 中国大陆 app 的ICP备案&#xff0c;下面是对本人对备案的实操及理解&#xff1a; 1) ICP备案与 app store co…

设计模式——行为型模式——策略模式

策略模式 定义 策略模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以相互替换&#xff0c;且算法的变化不会影响使用算法的客户。 策略模式属于对象行为模式&#xff0c;它通过对算法进行封装&#xff0c;把使用算法的责任和算法的实现分割开来&a…

uniapp+vue基于移动端的药品进销存系统r275i

最后我们通过需求分析、测试调整&#xff0c;与药品进销存管理系统管理系统的实际需求相结合&#xff0c;设计实现了药品进销存管理系统管理系统。 系统功能需求包含业务需求、功能需求用户需求&#xff0c;系统功能需求分析是在了解用户习惯、开发人员技术和实力等各个因素的前…

【Conda】解决无名虚拟环境问题

文章目录 问题描述&#xff1a;无名虚拟环境解决步骤1 添加虚拟环境目录到envs步骤2 成功命名 问题描述&#xff1a;无名虚拟环境 如果不指定创建目录&#xff0c;默认创建在C盘用户目录下&#xff0c;这应该是很多人不愿意的吧。 指定目录创建虚拟环境命令如下&#xff1a; …

【微服务】——Docker 基础知识

这里写自定义目录标题 1.1 了解Docker1.1.1应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结 1.2.Docker和虚拟机的区别1.3.Docker架构1.3.1.镜像和容器1.3.2.DockerHub1.3.3.Docker架构1.3.4.小结 1.4.安装Docker——未实践 2.Dock…

探索CSS3文本效果:打造魅力无限的网页排版

CSS3为网页设计带来了革命性的变化&#xff0c;特别是在文本效果方面&#xff0c;它赋予了开发者前所未有的创意空间。本文将带你深入了解CSS3中一些令人兴奋的文本效果&#xff0c;从基本的阴影处理到复杂的动画效果&#xff0c;每个技巧都将通过实际代码示例展现其魅力所在。…

【Linux】`cat` 命令详解:查看、合并文件的利器

我把我唱给你听 把你纯真无邪的笑容给我吧 我们应该有快乐的 幸福的晴朗的时光 我把我唱给你听 用我炙热的感情感动你好吗 岁月是值得怀念的留恋的 害羞的红色脸庞 谁能够代替你呀 趁年轻尽情的爱吧 最最亲爱的人啊 路途遥远我们在一起吧 &#x1f3b5; 叶…

使用Python和Pygame创建一个简单的飞机大战游戏 [附源码]

在这个数字化时代&#xff0c;游戏已经成为我们生活中不可或缺的一部分。从经典的街机游戏到现代的3D游戏&#xff0c;游戏行业经历了巨大的变革。然而&#xff0c;有时候&#xff0c;简单的游戏反而能够带来更多的乐趣和满足感。在本篇文章中&#xff0c;我们将使用Python和Py…

Vue 组件间的数据绑定

在Vue组件中&#xff0c;v-model指令可以用来实现双向数据绑定。它用于将组件的属性和父组件中的数据进行双向绑定&#xff0c;使得当属性的值改变时&#xff0c;父组件中的数据也会相应地改变&#xff0c;并且当父组件中的数据改变时&#xff0c;属性的值也会相应地改变。 目…

c++ 使用libuv库

一、克隆libuv源码 打开命令行或终端。使用git clone命令克隆libuv的源码仓库。例如&#xff1a; git clone https://github.com/libuv/libuv.git 这将在当前目录下创建一个名为libuv的目录&#xff0c;其中包含libuv的源码。 二、编译安装libuv 进入libuv的源码目录&#x…

掌握算法艺术

学习算法是计算机科学领域的一个重要分支&#xff0c;它对提高编程能力、解决复杂问题以及参与竞争激烈的技术面试都非常关键。 概要&#xff1a; 1. 引言&#xff1a;为什么学习算法很重要&#xff1f; - 解释算法在计算机科学中的作用 - 讨论算法知识对于技术面试和职…

多级留言/评论的功能实现——SpringBoot3后端篇

目录 功能描述数据库表设计后端接口设计实体类entity 完整实体类dto 封装请求数据dto 封装分页请求数据vo 请求返回数据 Controller控制层Service层接口实现类 Mapper层Mybatis 操作数据库 补充&#xff1a;返回的数据结构自动创建实体类 最近毕设做完了&#xff0c;开始来梳理…

github.com/gin-contrib/timeout应前置使用

首先&#xff0c;gin的中间件是有执行顺序的&#xff0c;就是按照添加的顺序进行的。之前没在意&#xff0c;我把timeout中间件放在了最后面&#xff0c;导致业务一直不正常&#xff0c;后面debug源码总算看明白了&#xff1a; 源码入口&#xff1a; func(c *gin.Context) {fi…