【深度学习】深度学习框架的环境配置

news2025/2/28 2:45:52

目录

1. 配置cuda环境

1.1. 安装cuda和cudnn

1.1.1. 显卡驱动配置

1.1.2. 下载安装cuda

1.1.3. 下载cudnn,将解压后文件复制到cuda目录下

1.2. 验证是否安装成功

2. 配置conda环境

2.1. 安装anaconda

2.2. conda换源

2.3. 创建conda环境

2.4. pip换源

3. 配置深度学习框架

3.1. PyTorch

3.2. Tensorflow


1. 配置cuda环境

1.1. 安装cuda和cudnn

1.1.1. 显卡驱动配置

  • 保证电脑有独显且为N卡,只有nvidia显卡才能使用cuda
  • cuda版本与显卡驱动版本有关(官网)
cuda版本与显卡驱动版本对照表
cuda版本与显卡驱动版本对照表
  • 在命令行输入以下命令可以查看当前显卡驱动版本和最高支持的cuda版本:
nvidia-smi
输出结果
输出结果
  • 一般将显卡驱动更新到最新,这样将支持所有的cuda版本。更新显卡驱动可以安装Nvidia官方的GeForce Experience,要注册账号并登录,可以使用邮箱但要通过邮件验证。

1.1.2. 下载安装cuda

  • cuda版本的选择还与深度学习框架的版本有关,cuda版本不能过高,否则深度学习框架可能不支持,不过cuda中版本号向下兼容,比如cuda11.2可以当cuda11.1使用。
    • Tensorflow(官网)
cuda、python和tensorflow-gpu版本对照表
cuda、python和tensorflow-gpu版本对照表
    • PyTorch(官网)
      • torch版本与cuda、python版本没有严格的对应关系,只有大致的限制,python版本的选择一般为security的最低版本(Python维护周期查询),cuda版本一般不选最高,选tensorflow最新支持的版本,这样可以同时使用,不过同一电脑可以安装多个不同版本的cuda,使用时只要修改环境变量中的CUDA_PATH为需要选择的cuda版本所在路径。
      • 注意选择GPU版本torch(版本名中有“+cuXXX”,XXX表示cuda版本),示例如下:
带cu的表示GPU版本
带cu的表示GPU版本
  • 确定下载哪个cuda版本后,去官网下载,选择小版本号最大的,比如11.2.x选择11.2.2,win11选择win10,运行下载好的安装程序,选择典型安装一路同意即可,中途遇到要安装Visual Studio可以不用管,因为这是nvidia推荐用它来开发C++和cuda程序。

1.1.3. 下载cudnn,将解压后文件复制到cuda目录下

下载cudnn需要登陆nvidia账号,也要邮件验证,下载链接,根据cuda版本选择,下载解压后将cudnn-windows-x86_64-xxxx_cudaxx-archive目录下的所有目录和文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXXX目录下。

1.2. 验证是否安装成功

可以通过以下命令查看当前正在使用的cuda版本:

nvcc -V
输出结果
输出结果

2. 配置conda环境

2.1. 安装anaconda

可以去官网,如果速度太慢可以选择清华镜像,选择最新版本,运行安装程序,选择默认编辑器,一路下一步即可。

2.2. conda换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

2.3. 创建conda环境

在开始菜单找到Anaconda Prompt,点击运行,输入以下命令创建conda环境,python版本根据之前的版本对照选择,一般 为security的最低版本(Python维护周期查询):

conda create -n conda环境名 python=3.x -y

激活conda环境

conda activate conda环境名

2.4. pip换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

3. 配置深度学习框架

3.1. PyTorch

  • 根据之前的选择,直接在Anaconda Prompt相应conda虚拟环境下,执行类似以下命令:
pip install torch==x.x.x+cuXXX -f https://download.pytorch.org/whl/cuXXX
  • 测试pytorch是否可以使用cuda调用GPU

        运行python,按序执行以下命令:

>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.get_device_name(0)
'NVIDIA GeForce GTX 1060'
  • 可能出现报错说numpy没装,执行以下命令可以解决:
pip install torch==x.x.x+cuXXX numpy

3.2. Tensorflow

  • 据之前的选择,直接在Anaconda Prompt相应conda虚拟环境下,执行类似以下命令:
pip install tensorflow-gpu==2.x.x
  • 测试tensorflow是否可以使用cuda调用GPU

        运行python,按序执行以下命令:

>>> import tensorflow as tf
>>> tf.config.list_physical_devices('GPU')
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
>>> tf.test.gpu_device_name()
2023-11-28 21:55:22.331757: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-11-28 21:55:23.819451: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1510] Created device /device:GPU:0 with 4620 MB memory:  -> device: 0, name: NVIDIA GeForce GTX 1060, pci bus id: 0000:01:00.0, compute capability: 6.1
'/device:GPU:0'

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

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

相关文章

使用MD5当做文件的唯一标识,这样安全么?

使用MD5作为文件唯一标识符可靠么? 文章目录 使用MD5作为文件唯一标识符可靠么?什么是MD5?MD5的用途MD5作为文件唯一标识的优劣优势劣势 使用MD5作为文件唯一标识的建议其他文件标识算法结束语 什么是MD5? MD5(Messag…

企业计算机服务器中了locked1勒索病毒怎么解锁,locked1勒索病毒数据恢复

随着网络技术在企业的不断应用,企业的生产运营效率得到了极大提升,越来越多的企业利用网络开展工作,这也导致了企业的受到的网络安全威胁也不断增加。在本月,云天数据恢复中心陆续接到很多企业的求助,企业的计算机服务…

无线物理层安全学习

文章目录 3.17到3.203.85到3.88 3.17到3.20 3.85到3.88

np.array无法直接用matplotlib画图,因为需要借用np.squeeze先转化

文章目录 前言一、使用步骤1.没使用np.squeeze转化2.使用np.squeeze转化 前言 实际工作中,时而难免会遇见np.array无法直接用matplotlib画图的情况,这个时候,是因为在画图之前少了一个步骤,需要先借用np.squeeze先转化 一、使用步…

Gateway网关--java

网关是建立于请求到服务之前的,可以用网关限制访问量,添加过滤等 创建网关模块,引入相关pome依赖 配置yml 具体相关的作用可以参考 Spring Cloud Gateway 这样就可以了 基础的网关配置,我们的实现效果 我们可以通过10010端口访问,通过转发到nacos,再找到相应的模块,实现…

JS逆向-mytoken之code参数

前言 本文是该专栏的第60篇,后面会持续分享python爬虫干货知识,记得关注。 本文以mytoken为例,通过js逆向获取其code参数的生成规律。具体的“逆向”思路逻辑,笔者将会详细介绍每个步骤,并且将在正文结合“完整代码”进行详细说明。 接下来,跟着笔者直接往下看正文详细…

P5 链表 尾部插入新节点(不是指定点)

目录 前言 01 链表数据插入之直接在链表尾插入(不是指定点) 02 尾插创建链表优化 示例代码 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C》✨✨✨ 🔥 推荐专栏2: 《 Linux C应用编程(概念…

跟着chatgpt一起学|2.clickhouse入门(1)

上周我们一起学习了spark,这周让chatgpt帮我们规划下clickhouse的学习路径吧! 目录 ​编辑 1.了解Clickhouse的基本概念 1.1 Clickhouse是什么? 1.2 ClickHouse的特点和优势 1.3 Clickhouse的基本架构与组件 1.了解Clickhouse的基本概念…

Sql Server数据库跨机器完整恢复(源文件恢复)

问题描述 在操作系统异常的情况下,SQL Server 和相关的业务系统遭受了不可用的情况。由于操作系统问题,导致旧服务器无法正常运行。为了恢复业务功能并确保数据完整性,采取了以下步骤来在新机器上进行 SQL Server 的重新安装和数据恢复。 面…

软件工程 - 第8章 面向对象建模 - 3 - 动态建模

状态图 状态是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和状况 。 案例一:描述烧水器在工作时的详细行为细节 “人就是一个类,而你”、我”、张三”等都是“人这个类的一个实例,站着”、“躺着等都是对象的一…

POSTGRESQL中如何利用SQL语句快速的进行同环比?

1. 引言 在数据驱动的时代,了解销售、收入或任何业务指标的同比和环比情况对企业决策至关重要。本文将深入介绍如何利用 PostgreSQL 和 SQL 语句快速、准确地进行这两种重要分析。 2. 数据准备 为了演示,假设我们有一张 sales 表,存储了销…

基于社区电商的Redis缓存架构-写多读多场景下的购物车缓存架构

社区电商的购物车缓存架构 在购物车中的功能主要有这几个:商品加入购物车、查看购物车列表、删除购物车商品、选中购物车商品进行结算 这里购物车的场景和之前用户信息以及菜谱分享信息还不同,如果在举办了大型购物活动时,购物车可能需要面…

古琴零基础自学考级入门,从初级到高级古琴教学全集

一、教程描述 本套教程是古琴的组合教程,内容是超级齐全的,包括了很多套完整的古琴教程,来自国内知名的古琴教师、专家,教授等,都是从零基础开始讲起的,而且理论与实践相结合,对于刚学古琴入门…

【LeetCode热题100】【双指针】移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0] 输出…

MyBatis的创建,简单易懂的一篇blog

文章目录 一、MyBatis是什么二、操作流程三.配置resource总结 一、MyBatis是什么 MyBatis 是⼀款优秀的持久层框架,它⽀持⾃定义 SQL、存储过程以及⾼级映射。MyBatis 去除了⼏乎所有的 JDBC 代码以及设置参数和获取结果集的⼯作。MyBatis 可以通过简单的 XML 或注…

试用 Windows Terminal 中的 Terminal Chat 功能

文章目录 1. 引言2. 设置 Terminal Chat2.1 安装 Windows Terminal Canary2.2 设置服务地址和密钥 3. 使用 Terminal Chat3.1 打开聊天3.2 对话使用 4. 最后 1. 引言 最近,Windows Terminal Canary 推出了一项名为 Terminal Chat 的新功能,它允许用户在…

深入理解贝叶斯分类与朴素贝叶斯模型(Naive Bayes, NB):从基础到实战

目录 贝叶斯分类 公式 决策规则 优点 贝叶斯分类器的例子——垃圾邮件问题 1. 特征(输入): 2. 类别: 3. 数据: 4. 模型训练: 注:类别先验概率 5. 模型预测: 朴素贝叶斯模…

进程间通信 管道

在Linux中,管道是一种通信机制,用于将一个程序的输出直接连接到另一个程序的输入。从本质上说,管道也是一种文件,但它又和一般的文件有所不同,它可以克服使用文件进行通信的两个问题,具体表现为限制管道的大…

基于SSM的生鲜在线销售系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

[传智杯 #2 决赛] 补刀

题目描述 UIM 在写程序的空闲玩一款 MOBA 游戏。 当敌方的小兵进入到我方防御塔的范围内,就会持续受到防御塔造成的伤害;当然我方英雄也可以对它造成伤害。当小兵的血量降到了 0 或者更低,就会被击杀。为了获得经验,UIM 希望在防…