深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】

2023-11-05

这套环境实在是太复杂坑太多,配了大半年,今天终于终于成功了。

显卡驱动

直接用软件和更新安装470版本显卡驱动,出错几率最小。
在这里插入图片描述

查看安装状态

nvidia-smi

会出现显卡版本和CUDA支持
在这里插入图片描述

CUDA

首先感谢二位前辈的原贴:
https://blog.csdn.net/weixin_43491255/article/details/118549032
https://blog.csdn.net/a563562675/article/details/119458550

附上CUDA全家桶的下载链接

ubuntu2004,显卡驱动470,适配pytorch1.9.0的11.3 CUDA / 8.2.1CUDNN

deb1
deb2
deb3
run

ubuntu1804,显卡驱动470,适配pytorch1.9.0的11.3 CUDA / 8.2.1CUDNN

run
deb1
deb2
deb3

安装CUDA

首先在这里下载你需要的CUDA安装包(runfile格式)
由于你懂得原因,推荐用踢子打开,不然进不去。
https://developer.nvidia.com/cuda-toolkit-archive
一定要注意版本!!!
我推荐CUDA 11.3.0 + CUDNN 8.2.1 + Pytorch 1.10
这三者的组合非常麻烦,这套我亲测成功,别的搭配不敢保证。
在这里插入图片描述由于你懂得原因,wget下载极慢,这里有个小技巧,把wget后面的链接复制一下,贴到能用踢子的浏览器,直接用浏览器下载。我当时大概3M/s,速度还不错。文件很大,2.8G,耐心下载。
下好之后改权限,
在这里插入图片描述
然后输入这个安装:

sudo sh cuda_11.3.0_465.19.01_linux.run

接下来会出现这个,在Driver那里按回车,不安装驱动(我们刚才已经装好驱动了),然后选Install安装。
在这里插入图片描述
装好之后打开环境变量

gedit ~/.bashrc

加入这两行保存,注意我这里是11.3,你如果是别的版本,要改成自己的

export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-11.3/lib64:$LD_LIBRARY_PATH"

刷新环境变量

source ~/.bashrc

测试

终端输入

cd /usr/local/cuda-11.3/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果这样就说明成功了,里面显示了CUDA可用的设备信息。
在这里插入图片描述

CUDNN

安装

先下载三个deb包,一定要用deb,出错几率小
https://developer.nvidia.com/rdp/cudnn-archive
我的是11.3,选择里面的8.2.1 for 11.x
在这里插入图片描述
安装这三个包

sudo dpkg -i xxxxxxx.deb

最后安装一下依赖

sudo apt-get install libfreeimage3 libfreeimage-dev

测试

刚才有个包是cudnn自带的样例sample,运行测试一下

开始运行sample

cd /usr/src/cudnn_samples_v8
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

如果出现 Test passed,说明安装成功

查看一下cudnn版本

find / -name cudnn_version.h 2>&1 | grep -v "Permission denied"
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Anaconda

到清华镜像源下载安装包
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载好之后输入命令安装,记得一路选yes

bash Anaconda3-2021.05-Linux-x86_64.sh

打开condarc切换conda清华源

sudo gedit ~/.condarc

把里面的内容替换成这个。已经包括了修改defaults,TUNA官网首页的方法。

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
report_errors: false
auto_activate_base: false

最后创建一个虚拟环境,用来安装pytorch

conda create -n alientorch(你自己起的名字)

激活环境

activate alientorch

安装一波依赖,顺便测试一下刚才的源,如果速度很快,那么就很棒棒,一会的Pytorch也会很顺利

conda install numpy mkl cffi

Pytorch

安装

进入官网,查看你的版本对应的安装命令

https://pytorch.org/get-started/locally/
在这里插入图片描述在刚才的虚拟环境里输入命令安装pytorch

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

20.04 + pytorch 1.9.0 + cuda 11.3 的指令:

conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge

最新版GPU版本的:

conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia

CPU-Only版本的:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

大家根据自己的情况从上面选一个

安装文件非常大,耐心等待即可,如果源切换成功了,这里下载会很快。

测试

进入虚拟环境,输入命令测试,大功告成!

python
import torch
torch.cuda.is_available()

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】 的相关文章

  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • pip:需要将包名称tensorflow-gpu更改为tensorflow

    我正在尝试将具有 GPU 支持的张量流安装到 conda 环境中 我使用命令 pip install ignore installed upgrade https storage googleapis com tensorflow linu
  • 将 nvidia 运行时添加到 docker 运行时

    我正在运行虚拟机GCP配备特斯拉 GPU 并尝试部署一个PyTorch基于应用程序使用 GPU 加速 我想让 docker 使用这个 GPU 可以从容器访问它 我设法在主机上安装了所有驱动程序 并且该应用程序在那里运行良好 但是当我尝试在
  • 交叉编译armv5,但它创建v7二进制文件

    我设法为arm926ej s创建了一个目标文件我在 qemu 上使用 Debian Arm arm linux gnueabi gcc 4 4 static O c mcpu arm926ej s hello c o hello root
  • 卷曲选项 -:未知

    我运行此命令在 ubuntu 18 04 上安装更新版本的 nodejs curl sL https deb nodesource com setup 12 x sudo E bash 我收到错误 curl 选项 未知 我在多个系统上尝试过
  • “gld/st_throughput”和“dram_read/write_throughput”指标之间有什么区别?

    在 CUDA 可视化分析器版本 5 中 我知道 gld st requested throughput 是应用程序请求的内存吞吐量 然而 当我试图找到硬件的实际吞吐量时 我很困惑 因为有两对似乎合格的指标 它们是 gld st throug
  • Ubuntu 上的 Vim:文本渲染错误,奇怪地重复和消失

    不久前我在 ubuntu 12 04 上安装了 vim 有时 当我在代码上运行光标 使用键盘 而不是鼠标 时 文本会消失 就好像渲染字符时出现问题一样 当我再次运行光标时 它通常会重新出现 这似乎是随机发生的 但通常足以让人恼火 为了更清楚
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • CUDA 中指令重放的其他原因

    这是我从 nvprof CUDA 5 5 获得的输出 Invocations Metric Name Metric Description Min Max Avg Device Tesla K40c 0 Kernel MyKernel do
  • 在requirements.txt中包含.whl安装

    如何将其包含在requirements txt 文件中 对于Linux pip install http download pytorch org whl cu75 torch 0 1 12 post2 cp27 none linux x8
  • 大型跨平台软件项目的技巧/资源

    我将开始一个大型软件项目 涉及跨平台 GUI 和大量的数字运算 我计划用 C 和 CUDA 编写大部分应用程序后端 并用 Qt4 编写 GUI 我计划使用 Make 作为我的构建系统 这将是一个只有两名开发人员的项目 一旦我相对深入地了解它
  • cuda 文件组织的有效方式:.cpp .h .cu .cuh .curnel 文件

    cuda最容易理解 最高效的代码组织是什么 经过一番调查后 我发现 cuda 函数声明应位于 cuh 文件中 实现位于 cu 文件中 内核函数实现位于 curnel 文件中 其他 C 内容通常在 cpp 和 h 文件中 最近我发布了一个问题
  • 简单的openGL程序无法在ubuntu中链接

    我正在尝试进入 opengl 编程 但无法编译我的第一个非常非常简单的程序 链接过程每次都会失败 我发现这个答案 https stackoverflow com questions 859501 learning opengl in ubu
  • uWSGI 皇帝权限被拒绝,除非 root

    我尝试使用二进制文件本身的标志 uid www data gid www data 并将其设置在我的配置中 uid www data gid www data 但套接字总是由我正在使用的帐户生成 因此我从 nginx 收到权限被拒绝的错误
  • 有条件减少 CUDA

    我需要总结一下100000值存储在数组中 但带有条件 有没有办法在 CUDA 中做到这一点以快速产生结果 任何人都可以发布一个小代码来做到这一点吗 我认为 要执行条件约简 您可以直接将条件引入为乘法0 假 或1 真 加数 换句话说 假设您希
  • Cordova 构建 - 无法解析 com.android.tools.build:gradle:1.5.0

    升级我的机器 Ubuntu 15 10 的 cordova 和 npm 后 我无法使用 cordova 构建新项目 构建指责 graddle 中存在错误 我做了一些研究并找到了一些可能的解决方案 解决方案例如更改版本和 url graddl
  • cudaDeviceScheduleBlockingSync 和 cudaDeviceScheduleYield 之间有什么区别?

    正如这里所说 如何减少 CUDA 同步延迟 延迟 https stackoverflow com questions 11953722 how to reduce cuda synchronize latency delay 等待设备结果有
  • 在 Ubuntu 16.04 上编译 PCL 1.7,CMake 生成的 Makefile 中出现错误

    我正在尝试让 PCL 1 7 点云库 而不是其他 pcl 在 Ubuntu 16 04 上运行 我最终希望用于 C 的东西 但现在我只是想让这些例子工作 我使用的是 Ubuntu GNU 5 3 1 附带的默认编译器和 Cmake 版本 3
  • Pytorch .to('cuda') 或 .cuda() 不起作用并且卡住了

    我正在尝试做 pytorch 教程 当我尝试将他们的设备设置为 cuda 时 它不起作用并且我的代码运行被卡住 有关具体信息 我正在使用 conda 环境 蟒蛇3 7 3 火炬1 3 0 cuda 10 2 NVIDIA RTX2080TI
  • Nginx 作为负载均衡器,具有 75% 和 25% 加权路由

    我是 Nginx 新手 我有两台服务器 serverA 和 serverB 我希望 75 的请求发送到 serverA 其余 25 的请求发送到 serverB 这可能吗 使用nginx加权路由 stream upstream stream

随机推荐

  • 腾讯云部署(gin框架+vue3.0)前后端分离项目

    腾讯云部署 gin框架 vue3 0 前后端分离项目 项目架构和部署工具 项目工具 部署工具 后端项目准备及部署 购买云端服务器 以下是腾讯云 阿里云请点击我 https blog csdn net it vegetable article
  • C++ · 求和篇

    C 求和法千万条 等差数列第一条 哈哈 跟大家开个玩笑 现在咱们步入正题 求和法之一 等差数列 没错 等差数列是最简便的解法 众所周知 等差数列求和公式为 首项 末项 项数 2 首项即是等差数列的起始数 末项是等差数列的结束项 好 问题来了
  • 实例化和具体化详解

    在解释具体化和实例化看的有点乱 分解出来备忘 在代码中包含函数模板本身并不会生成函数定义 它只是用于生成函数定义的方案 编译器使用模板为我写类型生成函数定义时 得到的是模板实例 如这个模板 template
  • keil5 编辑栏一直是灰色

    无语了 气炸了 愤怒啊 查了一下 有很多 arm 和 c51 并存 不管他了 之前装了用完51 又装了arm 现在反而什么都用不了 打开license 发现过期了 重新破解 即可 注意音乐 大半夜吓死人 你以为这样就可以了 你就太天真了 网
  • java:最差产品奖

    import java util Scanner 注意类名必须为 Main 不要有任何 package xxx 信息 public class Main public static void main String args Scanner
  • dll文件反编译源代码 C#反编译 dotpeek反编译dll文件后export

    目录 背景 下载安装dotpeek 导入dll文件 export导出文件 参考 背景 项目合作的时候 使用前人的或者其他部门dll文件直接在机台运行 会出现很多问题 逻辑 效率等等 此时我们可以选择对他们的代码进行反编译和重构 重新梳理逻辑
  • Windows C++运行命令编程

    Windows C 运行命令编程 一 命令处理方式 二 popen函数 三 重定向的子进程 四 参考链接 一 命令处理方式 Windows下编程经常需要使用批处理指令 bat或cmd 因此如何执行命令和获取返回数据是一个关键点 对于控制台程
  • STM32+IAP方案的实现,IAP实现原理(详细解决说明)。

    此文档内容摘自 http www 51hei com stm32 4315 html 可参考文档 https blog csdn net gin love article details 82015646 基于STM32F103ZET6的U
  • 力扣 剑指 Offer 25. 合并两个排序的链表

    简单题 就不多写了 class Solution public ListNode mergeTwoLists ListNode l1 ListNode l2 ListNode head new ListNode t head while l
  • 一文读懂大语言模型

    以ChatGPT为代表的大语言模型被很多人认为是新一轮科技革命的起点 本文旨在通过概念性介绍 让普通人能够尽可能理解人工智能以及大语言模型的基本概念 从而了解这些技术能做以及不能做什么 原文 A Very Gentle Introducti
  • 关系表的构成要素主键_关系模型简述

    关系模型简述 关系模型是基于表的处理方式抽象形成的 是在对传统表及其操作进行数学化严格定义基础上 引入集合理论与逻辑学理论提出的 关系模型也是数据库的三大经典数据模型之一 也是现在大多数商品化数据库系统所仍然再用的数据模型 数据库标准语言也
  • 流媒体服务器在大屏系统,视频流媒体服务器

    视频流媒体服务器 内容精选 换一换 音视频传输协议众多 不同业务应该如何选择 RTSP RTMP RTP RTC HLS MSS DASH WEBRTC RIST SRT 在此我们就从业务发展的视角来理解各种流媒体协议 帮助大家有更加清晰的
  • 一行命令跑满Linux的CPU

    今天突发奇想 想看看Linux的CPU跑满的样子 其实一行命令就可以使CPU跑满 for i in seq 1 cat proc cpuinfo grep physical id wc l do dd if dev zero of dev
  • nestjs:创建唯一键报错 QueryFailedError: Duplicate key name ‘IDX_d87a44fac9965cb7cf94cba11c‘

    问题 如题 参考 MYSQL中唯一约束和唯一索引的区别 51CTO博客 mysql主键和唯一索引的区别 解决办法 原始代码 Index Column unique true mail string 创建唯一约束时会创建唯一索引 所以应该把
  • score在java中是什么意思_Score.java

    import java io File import java io FileInputStream import java util Properties import java util Scanner import org jsoup
  • windows编程--网络编程学习--winsock编程(2)

    Winsock是windows系统下利用Socket套接字进行网络编程的相关函数 是Windows下的网络编程接口 Winsock在常见的Windows平台上有两个主要的版本 即Winsock1和Winsock2 编写与Winsock1兼容
  • vue3使用Element-plus与TS(TypeScript)

    如果你有一个困扰就是为什么直接CV Element plus文档里的代码总是报各种错误 那你看这篇就对啦 针对Vue3哦 1 项目导入vscode后 安装Element plus npm install element plus save
  • Unreal Engine(虚幻引擎)渲染 – 正确使用方法

    我们已经讨论过 Unreal Engine 虚幻引擎 中可用的很多神奇工具 包括最近抢先体验的 Unreal Engine 5 多亏了 Epic 世界各地的开发人员和团队都可以轻松进行游戏开发 Epic 对电影和游戏界的最大贡献可能就是 U
  • 解决 iframe跨域、跨端口报错 Blocked a frame with origin from accessing a cross-origin frame

    前言 在不同的端口号 甚至是不同的ip进行iframe嵌套的时候 在父页面调用子页面的方法的时候 报错 SecurityError Blocked a frame with origin from accessing a cross ori
  • 深度学习环境配置 Ubuntu 18.04 + Anaconda + CUDA + Cudnn + Pytorch 【亲测可用】

    这套环境实在是太复杂坑太多 配了大半年 今天终于终于成功了 显卡驱动 直接用软件和更新安装470版本显卡驱动 出错几率最小 查看安装状态 nvidia smi 会出现显卡版本和CUDA支持 CUDA 首先感谢二位前辈的原贴 https bl