深度学习框架配置

目录

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'

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux以nohup方式运行jar包

1、在需要运行的jar包同级目录下建立启动脚本文件: 文件内容: #! /bin/bash #注意:必须有&让其后台执行,否则没有pid生成 jar包路径为绝对路径 nohup java -jar /usr/local/testDemo/jdkDemo-0.0.1-SNAPSHOT.jar >/us…

MX6ULL学习笔记 (一)交叉工具链的安装

前言: ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译 器,Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码,因为我们编译的代码是需要烧写到ARM板子…

nacos集群开箱搭建-linux版本搭建

原创/朱季谦 nacos是一款易于构建云原生应用的动态服务发现、配置管理和服务管理平台,简单而言,它可以实现类似zookeeper做注册中心的功能,也就是可以在springcloud领域替代Eureka、consul等角色,同时,还可以充当spri…

吴恩达《机器学习》10-6-10-7:学习曲线、决定下一步做什么

一、学习曲线 1. 学习曲线概述 学习曲线将训练集误差和交叉验证集误差作为训练集实例数量(m)的函数绘制而成。这意味着从较少的数据开始,逐渐增加训练集的实例数量。该方法的核心思想在于,当训练较少数据时,模型可能…

MVVM 模式与 MVC 模式:构建高效应用的选择

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

3.2 Windows驱动开发:内核CR3切换读写内存

CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表…

数字阅读用户规模持续增长 5.3亿人享受数字化阅读便利

近日,鲁迅长孙周令飞在接受采访时表示,自己“现在90%的时间刷视频,10%的时间看书”,引发网友热议。不少网友表示,鲁迅的孙子都花90%的时间刷视频,难怪现在没人看书了,其实这并不奇怪,也并不表明没人看书,而是读屏与读书并重的时代,纸质阅读与数字阅读共同构成了日常的阅读模式。…

机器学习常用距离度量方法

机器学习常用距离度量方法 前言一、前期准备二、距离度量方法1. 欧氏距离2.曼哈顿距离3.切比雪夫距离4. 闵可夫斯基距离 总结 前言 机器学习中往往通过度量来研究不同样本或数据集之间的差异性,合适的度量方式可以显著提高算法的准确率,因此在接下来的内…

js逆向-某赞滑块

声明 本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负! 如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦! 前言 目标网站:aHR0cHM6Ly9hY2NvdW50LnlvdXphbi5j…

科普 | 隧道代理IP,简化操作提升安全性

随着数字化时代的深入发展,企业对网络数据的依赖日益增强。在这样的背景下,隧道代理IP正在以其独特的优势改变传统的网络代理模式,为企业级数据采集领域带来革命性的变革。 隧道代理IP技术简介 隧道代理IP通过云端服务器实现自动化的HTTP代理…

检验科LIS系统源码,LIS系统,检验数据分析,生成检验报告

检验科LIS系统源码,全套LIS系统商业项目源码 LIS是HIS系统的一个重要的组成部分,其主要功能是将检验的实验仪器传出的检验数据经分析,生成检验报告,通过网络存储在数据库中,这样医生能够方便、及时的看到患者的检验结果…

96.STL-遍历算法 transform

目录 transform 语法: 功能描述: 函数原型: 代码示例: transform 是 C 标准模板库(STL)中的一个算法,用于对一个范围内的元素进行转换并将结果存储到另一个范围。以下是简要解释和一个示例…

leetcode 202.快乐数

代码: class Solution {//计算 n 每个位置上的数字的平方和public int quadraticSum(int n){int sum0;while (n>0){int in%10;sumi*i;n/10;}return sum;}public boolean isHappy(int n) {//慢指针int slown;//快指针int fastquadraticSum(n);while (slow!fast){…

JVM 参数介绍

在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是Permanent Generation space.就是说是永久…

音视频学习(十九)——rtsp收流(tcp方式)

前言 本文主要介绍以tcp方式实现rtsp拉流。 流程图 流程说明: 客户端发起tcp请求,如向真实相机设备请求,端口一般默认554;tcp连接成功,客户端与服务端开始rtsp信令交互;客户端收到play命令响应后,开启线…

esp32 esp-idf V5.1.1版本看门狗配置

idf.py menuconfig打开配置窗口 选择Component config选项

LLM能力与应用全解析

一、简介 经过几年时间的发展,大语言模型(LLM)已经从新兴技术发展为主流技术。而以大模型为核心技术的产品将迎来全新迭代。大模型除了聊天机器人应用外,能否在其他领域产生应用价值?在回答这个问题前,需要…

【Docker项目实战】使用Docker部署Plik临时文件上传系统

【Docker实战项目】使用Docker部署Plik 临时文件上传系统 一、Plik介绍1.1 Plik简介1.2 Plik特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Plik镜像五、部署Plik临时…

手机爬虫用Fiddler详细教程

如果你正在进行手机爬虫的工作,那么一款强大而又实用的网络调试工具Fiddler将会是你的好帮手。今天,我将和大家分享一份详细的Fiddler教程,教你如何使用它来轻松捕获和分析手机App的网络请求。让我们一起来探索Fiddler的功能和操作&#xff0…

P25 C++ const关键字

前言 本期我们要讲的是 C 中的 const 关键字。 const 在改变生成代码方面做不了什么,它有点像类和结构体的可见性,这是一个机制,可以让我们的代码更加干净,并对开发人员写代码强制特定的规则。 const 就像你做出的承诺&#xf…