深度学习的环境搭建(window+pytorch)

1.检查是否安装CUDA

CUDA(Compute Unified Device Architecture)是由 NVIDIA 推出的一种并行计算平台和编程模型,用于利用 NVIDIA GPU(Graphics Processing Unit)的强大计算能力进行高性能计算任务。CUDA 的主要特点是可以利用 GPU 上的数千个并行处理单元来加速计算,使得许多复杂的计算任务可以在较短时间内得到结果。

CUDA 在众多领域中得到了广泛应用,如机器学习、深度学习、计算机视觉、数值计算等。

NVIDIA GPU想要进行深度学习任务,那么CUDA是必须要安装的。以下是一些检查您是否已安装CUDA的方法:

在终端或命令提示符中输入以下命令:

nvcc --version

如果CUDA已正确安装,则将显示CUDA版本号和其他相关信息。
已安装的提示:
在这里插入图片描述

1.2.安装CUDA

通过运行以下命令来查看CUDA驱动程序的状态:

nvidia-smi

以此来查看自己可以安装的CUDA版本。
在这里插入图片描述

cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive

选择对应的版本进行下载!
在这里插入图片描述

cuda安装教程: cuda安装 (windows版)

1.3cuDNN的下载与配置

cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download

需要注册账户登录下载!选择cuda对应的版本下载。

在这里插入图片描述
cuDNN 解压缩,会得到下面的文件:

在这里插入图片描述
解压后,有三个文件夹,把三个文件夹拷贝到cuda的安装目录下。

拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。(以下为cuda自定义安装目录)

在这里插入图片描述

3.安装Anaconda

Anaconda是一个基于Python的数据科学平台,包含了众多数据科学工具和库,可以方便地进行数据分析、数据可视化、机器学习和深度学习等任务。Anaconda包含了conda包管理器和Anaconda Navigator图形化用户界面,可以方便地创建、管理和使用Python环境、软件包和工具。

官网访问速度慢。

清华镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装教程: 最新Anaconda3的安装配置及使用教程

4 使用conda安装深度学习所需包

深度学习框架是一种编程工具,用于实现和训练神经网络模型。以下是一些常见的深度学习框架:

TensorFlow: 由Google开发的开源深度学习框架,支持多种编程语言,包括Python、C++、Java等。TensorFlow具有高度灵活性和可扩展性,支持分布式训练和推理,并且在各种应用场景中都得到了广泛的应用。

PyTorch: 由Facebook开发的Python深度学习框架,提供动态计算图和自动求导功能,具有易用性和高效性。PyTorch在自然语言处理、计算机视觉、语音识别等领域中表现出色。

Keras: 一个高度模块化、易于使用的Python深度学习框架,支持多种后端引擎,包括TensorFlow、Theano和CNTK等。Keras具有良好的可读性和可扩展性,使得开发者可以轻松构建各种类型的神经网络模型。

扩展:
TensorFlow的API设计也比较底层,需要开发者对深度学习算法有一定的了解。

TensorFlow需要处理很多底层的技术细节,比如GPU加速、异步计算、分布式训练等,这些都需要开发者有一定的计算机科学背景和编程技能。

Keras是基于TensorFlow实现的,Keras提供的高级API是在TensorFlow低级API基础上进行封装的。因此,Keras用户可以使用TensorFlow的底层功能来更好地控制和调整模型的各个方面,而TensorFlow用户也可以通过Keras的高级API来更快地构建和迭代模型。

4.1 配置conda的国内源

为加快包的下载速度,可以配置国内源,如清华源。

在这里插入图片描述

找到如上文件修改为:

channels:
  - defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

4.2 使用Anaconda的conda创建虚拟环境

环境管理是指在同一台计算机上创建和维护多个相互独立的软件开发环境的过程。在不同的软件开发项目中,通常需要使用不同的软件环境,包括特定版本的编程语言、库、工具和其他依赖项。环境管理的目标是使不同的开发项目之间的软件环境相互隔离,从而避免因依赖关系而产生的冲突问题。在Python语言中,有多种工具可以用于环境管理,其中较为常用的包括conda、pipenv和virtualenv等。

conda是一个跨平台的包管理器和环境管理器,可以方便地创建、管理和分享不同的软件环境。conda支持多种语言和工具,包括Python、R、Julia等,因此可以在一个环境中同时安装多种语言和工具的软件包。

扩展: pip是Python语言中常用的包管理器,可以方便地安装、升级和卸载Python包。pip最初是由Python社区开发的一个包管理器,用于解决Python包之间的依赖问题。随着Python在科学计算、数据分析、机器学习等领域的广泛应用,pip也逐渐成为了Python生态系统中必不可少的工具之一。

创建环境:

conda create -n your_env_name python=X.X 
# 或
conda create --name your_env_name python=X.X

激活环境:

conda activate your_env_name

conda常用命令: conda常用命令汇总,随时查询

4.3 版本问题

Python
目前,Windows 上的 PyTorch 仅支持 Python 3.8-3.11;不支持 Python 2.x。

如果要在 Windows 上构建,还需要带有 Visual Studio的 MSVC 工具集 和 NVTX。

原因:
PyTorch是一个基于Python的开源机器学习框架,支持GPU加速计算,因此在安装时需要一些必要的依赖项。

MSVC工具集是Microsoft Visual Studio的一个组件,提供了一组用于编译和构建C++应用程序的工具和库。在安装PyTorch时,需要使用MSVC工具集来编译C++代码并构建PyTorch的二进制文件。这是因为PyTorch的底层代码是用C++实现的,而Python只是作为一个包装器来调用这些底层代码。

NVTX是一个用于GPU性能分析的工具,它允许开发人员在应用程序中插入时间戳和事件标记,以便更好地了解GPU计算的性能瓶颈和优化机会。在安装PyTorch时,NVTX可以帮助开发人员更好地分析和优化PyTorch的GPU计算性能。

NVTX是NVIDIA提供的一组C/C++函数和宏,用于在CUDA应用程序中添加注释和区域,以帮助分析和优化程序的性能。NVTX可以与各种性能分析工具一起使用,例如NVIDIA Nsight Systems、CUDA-MEMCHECK、CUDA-GDB等。

因此,安装PyTorch需要MSVC工具集和NVTX是为了支持PyTorch的编译和GPU性能分析。

判断计算机是否安装MSVC工具集:
a. 打开“控制面板”并选择“程序”或“程序和功能”。
b. 检查列表中是否存在Microsoft Visual Studio或Microsoft Visual C++ Redistributable等相关程序。如果存在,则计算机已安装MSVC工具集或其相关组件。

要判断计算机是否安装了NVTX,可以检查计算机上是否安装了NVIDIA CUDA Toolkit。NVTX是CUDA Toolkit的一部分,因此如果计算机上已安装CUDA Toolkit,则可以使用NVTX。

pytorch对应版本安装

5 安装Pytorch

5.1 使用conda命令安装

Pytorch分为CPU版本和GPU版本。GPU版本需要要 Nvidia显卡硬件支持。GPU版本的Pytorch可以利用NVIDIA GPU强大的计算加速能力,使Pytroch的运行更为高效,尤其是可以成倍提升模型训练的速度。

Pytorch官网地址: https://pytorch.org/get-started/locally/

在这里插入图片描述
此时给出的句子后有 -c pytorch,这是从官网下载会比较慢,所以这里更推荐通过清华镜像源进行下载,语句删去 -c pytorch即可。(如果清华源中没有对应的版本,可以选择配置官网源,科学上网安装)

Pytorch历史版本的安装命令:https://pytorch.org/get-started/previous-versions/

我安装的cuda为11.3版本,python为3.9

因此我的安装命令为:

# CUDA 11.3
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch

在这里插入图片描述
安装提示清华源没有对应的pytorch版本
在这里插入图片描述

5.2 使用pip指定包来源安装

清华源中没有对应的版本,使用pip指定特定包源进行安装。

使用pip指定特定包源进行安装:
在这里插入图片描述
anaconda prompt命令行中对应的环境后,执行如下安装命令即可完成安装:

pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113

显示安装成功(他会自动安装关联包):
在这里插入图片描述

5.3 到官网下载对应包到本机后再安装(繁琐不推荐)

官网下载对应包的地址:https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
下载到本地后,在对应的环境下切换到.whl包的路径,在使用以下安装命令即可:

pip install torch-1.11.0xxxxxxxx-win_amd64.whl

5.4 Windows平台可能还需要安装VC : VC_redist.x64.exe

如果安装后出现导入[WinError 126] 找不到指定的模块报错,需要安装VC_redist.x64.exe。

原因:
如果电脑没有安装Microsoft Visual Studio或Microsoft Visual C++ Redistributable等相关程序时需要安装。

在使用PyTorch时,有些PyTorch库的二进制包是使用Microsoft Visual C++编译器构建的,而这些库需要在Windows操作系统上运行。因此,在Windows平台上使用PyTorch时,需要安装Microsoft Visual C++ Redistributable的运行时库。

VC_redist.x64.exe是Microsoft Visual C++ Redistributable for Visual Studio 2015-2019的安装程序,它包含了运行使用Microsoft Visual C++编译器编译的应用程序所需的运行时组件。如果没有安装这些运行时组件,那么在运行使用Microsoft Visual C++编译器编译的应用程序时,可能会出现缺少dll文件或无法加载库等错误。

因此,安装VC_redist.x64.exe可以确保在Windows平台上使用PyTorch时,能够正常加载并使用使用Microsoft Visual C++编译器编译的库。

5.4 确认是否安装成功

为确保 PyTorch 已正确安装,我们可以通过运行示例 PyTorch 代码来验证安装。这里我们将构造一个随机初始化的张量。

输入以下代码:

import torch
x = torch.rand(5, 3)
print(x)

输出应该类似于:

tensor([[0.8355, 0.1659, 0.8832],
        [0.4836, 0.1315, 0.5727],
        [0.6396, 0.0573, 0.6313],
        [0.9368, 0.0829, 0.0042],
        [0.7551, 0.4536, 0.4494]])

在这里插入图片描述

此外,要检查您的 GPU 驱动程序和 CUDA 是否已启用并可被 PyTorch 访问,请运行以下命令以返回 CUDA 驱动程序是否已启用:

import torch
import sys   #sys模块提供了一系列有关Python运行环境的变量和函数

print(sys.version)
print(torch.__version__)
print(torch.cuda.is_available())

在这里插入图片描述

输出以上类似结果说明安装成功。

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

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

相关文章

App违反Google数据安全政策,解决方案

前言 google隐私政策阶段性会进行更新,时长关注隐私政策变化,避免app被强制下架,影响后续运营工作。 邮件内容 摘录邮件详情 我们在以下区域发现了问题: SPLIT_BUNDLE 2:政策声明,数据安全部分:“https:…

大数据企业应用合作解决方案案例

打造产教融合的就业育人的综合服务平台,给予十余年的数据智能产业实践经验,专注于大数据和人工智能方向。 目前合作的企业案例包括:信访大数据平台解决方案、工业废水处理解决方案、找齐远程监控解决方案、道路运输安全、广电用户服务大数据解…

清洁赛道新势力,米博凭“减法”突围?

在五四青年节这个特殊的日子,方太旗下的高端智能清洁品牌“米博”发布了新一代无滚布洗地机7系列。 5月4日晚,米博以“减法生活,净请7代”为主题,举办了新品发布会。在发布会上,从小红书翻红的董洁作为方太集团米博产…

Windows命令提示行使用指南一

命令提示行使用指南 前言一、起源和发展二、和DOS的关系三、常用命令 前言 cmd 是 Windows 操作系统中的命令行界面(CLI),也称为命令提示符(CMD)或批处理文件。它是 Windows 命令行界面的主要组成部分,用于…

ASK,FSK和PSK

一、ASK,FSK和PSK 数字信号只有有限个离散值,使用数字信号对载波进行调制的方式称为键控(Keying),分为幅度键控(ASK)、频移键控(FSK)和相移键控(PSK)。 幅度键控可以通过乘法器和开关电路来实现,在数字信…

八、(了解即可)MyBatis懒加载(或者叫延迟加载)

文章目录 八、懒加载(了解即可)8.1 为啥需要懒加载?8.2 懒加载是什么?8.3 开启方式8.4 既然fetchType可以控制懒加载那么我仅仅配置fetchType不配置全局的可以吗?8.5 aggressiveLazyLoading是做什么么的?8.6 注意点8.7 案例验证懒加载准备工…

自学Python必须知道的优秀社区

国内学习Python网站: 知乎学习平台:Python - 基础入门 - 知学堂黑马程序员视频库:大数据学习路线2023版-黑马程序员大数据学习路线图菜鸟教程:菜鸟教程 - 学的不仅是技术,更是梦想!极客学院:极…

进阶自动化测试,这3点你一定要知道的...

自动化测试指软件测试的自动化,在预设状态下运行应用程序或系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试框架一般可以分为两个层次,上层是管理整个自动化测试的开发&a…

玩转服务器之Java Web篇:手把手教你搭建Java Web环境

前言 Java Web项目,简单来说就是我们在浏览器上可以看到的内容。就简单的Web来说,服务器上也同样需要有计算机上所需要的运行环境,如:java,tomcat,mysql 。Java Web环境可以用来开发和部署各种Web应用程序,例如网站、…

Redis基础

Redis基础 课程内容 Redis入门Redis数据类型Redis常用命令在Java中操作Redis 1. 前言 1.1 什么是Redis Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写&#xff0…

HTTP的特点

灵活可扩展 HTTP 协议最初诞生的时候就比较简单,本着开放的精神只规定了报文的基本格式,比如用空格分隔单词,用换行分隔字段,“headerbody”等,报文里的各个组成部分都没有做严格的语法语义限制,可以由开发…

优先级队列(大根堆与小根堆)

优先级队列(大根堆与小根堆) 文章目录 优先级队列(大根堆与小根堆)堆的介绍模拟堆以数组模型为例,创建堆向下调整(shiftDown)入队(push)及向上调整(shiftUp&a…

SLAM中将地图映射到谷歌地图上的方法——完美运行

文章目录 前言一、rviz_satellite二、mapviz 前言 老是看到论文中有将地图映射到谷歌地图上的图,实在是泰裤辣!!(武汉大学) 搜索了很久,发现有两种可视化软件,分别为rviz_satellite和mapviz。…

第4章-动态规划

第4章-动态规划 总分:100分 得分:100.0分 10.0 分 1 . 多选题 中等 10分 有关0-1背包问题,用c[i][j]描述子问题:1...i共i个物品,背包容量为j的最优值(装入背包的最大价值),则其子问题为:1...i-1共i-1个物品,背包容量为j-w ix i,以下说法正确的是( AB…

如何利用分钟级降水预报 API 优化城市水利管理?

引言 降水预报对于城市水利管理部门来说至关重要,它可以帮助管理者及时了解当地的降雨情况,以便更好地管理城市水利设施,保障公共安全。然而,传统的降水预报数据一般只提供每小时或每3小时的粗略预报数据,无法满足城市…

ICV: 全球QRNG产业规模在2030年有望突破200亿美元

近日,专注于前沿科技领域的国际咨询机构ICV发布了《全球量子随机数发生器的产业研究报告》,从多个角度对QRNG的市场进行预测。 QRNG 是解决与随机数相关的问题(例如密码解决方案)的重要硬件来源。 QRNG 是随着量子物理技术的发展…

2023年6月DAMA-CDGA/CDGP数据治理认证报名请尽早啦!

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中! 考试开放地区:北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证开班时间:5月7日 DAMA认证为数据管理专业人士提供…

项目管理:项目进度跟踪的好处有哪些?

项目进度跟踪主要针对项目计划、任务和项目成员三个方面,即为了了解整个项目计划完成情况、了解项目的实际进展情况、解成员工作完成情况。 项目跟踪可以证明计划是否可执行,可以说明计划是否可以被完成。 在项目执行过程中,我们也可以通过跟…

windows安装node.js和vue3.x

目录 下载并安装node配置环境变量配置淘宝镜像源安装webpack全局打包工具安装cnpm安装vue-cli 3.xcnpm问题警告的解决办法 下载并安装node 1,下载nodejs 直接从node.js官网下载:https://nodejs.org/en/download 根据自己电脑的版本选择32位或者64位&…

智慧城市3d可视化管理大屏系统有效提高服务质量和效率

随着新一代信息技术飞速融入传统产业,农业数字化、网络化、智能化逐步成为农业现代化发展的基石。实现农业生产环境的智能感知、智能预警、智能决策、智能分析等功能,为农业生产提供精准化保障、高质量运营水平、智能化决策支撑。 3D可视化智慧管理 1&am…