PyTorch 深度学习 || 专题二:PyTorch 实验框架的搭建

news2024/12/28 18:52:45

PyTorch 实验框架的搭建

1. PyTorch简介

PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,PyTorch在API的设计上更加简洁、优雅和易懂。

1.1 PyTorch的发展

“All in PyTorch”,对于PyTorch的发展我们只能用一句话来概况了,PyTorch自从推出就获得巨大的关注并受到了很多人的喜欢,而最直观的莫过于下面数据所表现的简明直了。

在Paper with code网站,PyTorch的代码实现已经是TensorFlow实现的4倍,在学术圈中PyTorch正在取代他的老大哥称霸,PyTorch会借助ONNX所带来的落地能力在工业界逐渐走向主导地位。

1.2 PyTorch的优势

更加简洁,相比于其他的框架,PyTorch的框架更加简洁,易于理解。PyTorch的设计追求最少的封装,避免重复造轮子。
上手快,掌握numpy和基本的深度学习知识就可以上手。
PyTorch有着良好的文档和社区支持,作者亲自维护的论坛供用户交流和求教问题。Meta AI(Facebook AI)对PyTorch提供了强力支持,作为当今排名前三的深度学习研究机构,MAIR的支持足以确保PyTorch获得持续的开发更新。
项目开源,在Github上有越来越多的开源代码是使用PyTorch进行开发。
可以更好的调试代码,PyTorch可以让我们逐行执行我们的脚本。这就像调试NumPy一样 – 我们可以轻松访问代码中的所有对象,并且可以使用打印语句(或其他标准的Python调试)来查看方法失败的位置。
越来越完善的扩展库,活力旺盛,正处在当打之年

2. CPU 平台下 PyTorch 计算框架的安装

Step 1:登录PyTorch官网

在这里插入图片描述

Step 2:安装

在这里插入图片描述

Step 3:选择命令

结合自己情况选择命令并复制下来,然后使用conda下载或者pip下载(建议conda安装,需要安装Anconda才能使用conda)

3. GPU 平台下 PyTorch 计算框架的安装

本文是在Windows10,Anaconda上安装Pytorch+CUDA的环境,包含下载-安装-验证的全过程,很详细的教程.

版本如下:

  • CUDA 11.3
  • Pytorch 1.11

3.1 CUDA的安装

3.1.1 确认自己的电脑是否可以使用CUDA

在桌面鼠标右键,进入NVDIA控制面板:

在这里插入图片描述
点击左下角的 系统信息:

在这里插入图片描述

点击组件,显示CUDA后续即为版本号

在这里插入图片描述

2.下载CUDA
CUDA 11.3 下载(务必注意对应的准确版本号),在百度上搜索 “CUDA Toolkit 11.3 Downloads | NVIDIA Developer”,进入官网即可,进入以后,选择Windows

在这里插入图片描述
然后,依次选择图中的深色选项,最后点击红框里的下载。

在这里插入图片描述

下载完成后,打开后首先会解压,路径可以改成一个新的文件夹:

在这里插入图片描述
解压完成后,等待:

在这里插入图片描述

同意并继续。

在这里插入图片描述

选择精简版会直接在默认路径安装,可以选择自定义,然后改路径:

在这里插入图片描述

继续:

在这里插入图片描述
可以更改安装路径,然后等待安装,安装完成后建议重启电脑。

在桌面打开一个新的Terminal,输入 nvcc -V

在这里插入图片描述
显示则安装成功。

3.2 cuDNN的安装

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

登录后才可以下载,没有账号先注册。

在这里插入图片描述
然后勾选。

在这里插入图片描述
选择11.x版本

在这里插入图片描述

3.2.2.安装cuDNN

下载完成后解压,会出现如下文件,
在这里插入图片描述

分别将三个文件夹下的所有文件拷贝至CUDA安装目录下对应的文件夹中:

在这里插入图片描述

然后将环境变量的第二条改成如下:

在这里插入图片描述
三、Anaconda环境的配置
首先,进入base(root)的Terminal,这里介绍重新建一个env。

如果,之前的env没有安装Pytorch也可以使用,请直接往下滑,跳转到:四、Pytorch的安装。

首先进入Terminal:

在这里插入图片描述

点击base(root) 右侧的按钮,选择Open Terminal

在这里插入图片描述
这里新建一个名叫pytorch_gpu的env,可自定python版本,然后输入:

conda create -name pytorch_gpu python=3.7

按照操作完成即可。

四、Pytorch的安装
Pytorch 安装命令获取网址:PyTorch

往下滑,找到这里,然后依次选择Conda或者Pip,CUDA11.3,然后就会自动生成蓝框中的安装命令:

在这里插入图片描述

如果没有匹配的版本,可点击左下角寻找可以匹配的版本,拷贝命令行到命令执行窗口进行安装。

内容如下:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

然后进入刚才新建的pytorch_gpu的Terminal,两种进入方法:

1.在Windows开始菜单中打开

在这里插入图片描述
2.在Anaconda Navigator中打开,参见步骤三

进入后,将命令输入并安装即可。

五、验证
继续在Terminal输入python,然后输入

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

输出True,即为成功。如果为False,可以先试一下重启电脑。此外,还可以查看一下版本信息:11.3

大家按照步骤完成就可以啦。使用GPU后,计算会非常快,越好的GPU速度提升会越显著。

4. 租用云主机进行高性能运算

登录云主机租用网站:https://www.autodl.com/home

在这里插入图片描述

登录后进入界面

在这里插入图片描述

选择适合自己的平台和版本

在这里插入图片描述

点击左边的目录即可以使用,或者查看顶部的帮助文件。

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

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

相关文章

Numpy---生成数组的方法、从现有数组中生成、生成固定范围的数组

1. 生成数组的方法 np.ones(shape, dtypeNone, orderC) 创建一个所有元素都为1的多维数组 参数说明: shape : 形状; dtypeNone: 元素类型; order : {‘C’,‘F’},可选,默认值:C 是否在内…

BPMN2.0自动启动模拟流程

思路:BPMN的流程模拟启动,主要是通过生成令牌,并启动令牌模拟 流程模拟的开启需要关键性工具:bpmn-js-token-simulation,需要先行下载 注:BPMN2.0的流程模拟工具版本不同,启动方式也不一样&am…

Kafka某Topic的部分partition无法消费问题

今天同事反馈有个topic出现积压。于是上kfk管理平台查看该topic对应的group。发现6个分区中有2个不消费,另外4个消费也较慢,总体lag在增长。查看服务器日志,日志中有rebalance 12 retry 。。。Exception,之后改消费线程停止。 查…

chatgpt赋能python:Python实现数据匹配的方法

Python实现数据匹配的方法 在数据分析和处理中,经常需要将两组数据进行匹配。Python作为一门强大的编程语言,在数据匹配方面也有着其独特的优势。下面我们将介绍Python实现数据匹配的方法。 数据匹配 数据匹配通常指的是将两组数据根据某些特定的规则…

理解calico容器网络通信方案原理

0. 前言 Calico是k8s中常用的容器解决方案的插件,本文主要介绍BGP模式和IPIP模式是如何解决的,并详细了解其原理,并通过实验加深理解。 1. 介绍Calico Calico是属于纯3层的网络模型,每个容器都通过IP直接通信,中间通…

试验SurfaceFlinger 中Source Crop

在 SurfaceFlinger 中,Source Crop 是用于指定源图像的裁剪区域的一个概念。Source Crop 可以理解为是一个矩形区域,它定义了源图像中要被渲染到目标区域的部分。在 Android 中,Source Crop 通常用于实现屏幕分辨率适应和缩放等功能。 在 Sur…

【Java基础篇】逻辑控制练习题与猜数字游戏

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用&…

2023_Python全栈工程师入门教程目录

2023_Python全栈工程师入门教程 该路线来自慕课课程,侵权则删,支持正版课程,课程地址为:https://class.imooc.com/sale/python2021 学习路线以三个项目推动,一步步夯实技术水平,打好Python开发基石 目录: 1.0 Python基础入门 2.0 Python语法进阶 3.0 Python数据…

windows系统典型漏洞分析

内存结构 缓冲区溢出漏洞 缓冲区溢出漏洞就是在向缓冲区写入数据时,由于没有做边界检查,导致写入缓冲区的数据超过预先分配的边界,从而使溢出数据覆盖在合法数据上而引起系统异常的一种现象。 ESP、EPB ESP:扩展栈指针&#xff08…

React.memo()、userMemo 、 userCallbank的区别及使用

本文是对以下课程的笔记输出,总结的比较简洁,若大家有不理解的地方,可以通过观看课程进行详细学习; React81_React.memo_哔哩哔哩_bilibili React76_useEffect简介_哔哩哔哩_bilibili React136_useMemo_哔哩哔哩_bilibili Rea…

直播录音时准备一副监听耳机,实现所听即所得,丁一号G800S上手

有些朋友在录视频还有开在线会议的时候,都会遇到一个奇怪的问题,就是自己用麦克风收音的时候,自己的耳机和别人的耳机听到的效果不一样,像是音色、清晰度不好,或者是缺少伴奏以及背景音嘈杂等,这时候我们就…

2023贵工程团体程序设计赛

A这是一道数学题&#xff1f; 道路有两边。 #include<bits/stdc.h> using namespace std; int main(){int n,m;cin>>n>>m;cout<<(n/m1)*2;return 0; } BCPA的团体赛 直接输出 。 #include <bits/stdc.h> using i64 long long; #define IOS…

Docker基本管理与网络以及数据管理

目录 一、Docker简介1、Docker简述2、什么是容器3、容器的优点4、Docker的logo及设计宗旨5、Docker与虚拟机的区别6、Docker的2个重要技术7、Docker三大核心概念 二、Docker的安装及管理1、安装Docker2、配置Docker加速器3、Docker镜像相关基础命令①搜索镜像②拉取镜像③查看镜…

Linux 配置Tomcat环境(二)

Linux 配置Tomcat环境 二、配置Tomcat1、创建一个Tomcat文件夹用于存放Tomcat压缩包2、把Tomcat压缩包传入服务器3、解压并启动Tomcat4、CentOS开放8080端口 二、配置Tomcat 1、创建一个Tomcat文件夹用于存放Tomcat压缩包 输入指令 cd /usr/local 进入到 usr/local 输入指令 …

[LsSDK][tool] ls_syscfg_gui2.0

文章目录 一、简介1.工具的目的2. 更新点下个更新 三、配置文件 一、简介 1.工具的目的 ① 可视化选择IO口功能。 ② 自由配置IO支持的功能。 ③ 适用各类MCU&#xff0c;方便移植和开发。 ④ 功能配置和裁剪&#xff08;选项-syscfg-待完成–需要适配keil语法有些麻烦&#…

Node.js: express + MySQL + Vue实现图片上传

前段时间用Node.js: express MySQL Vue element组件做了一个小项目&#xff0c;记录一下图片上传的实现。 将图片存入数据库有两种方法&#xff1a; 1&#xff0c;将图片以二进制流的方式存入数据库&#xff08;数据库搬家容易&#xff0c;比较安全&#xff0c;但数据库空间…

微服务实战项目-学成在线-媒资管理模块(有项目实战实现)

学成在线-媒资管理模块 1 模块需求分析 1.1 模块介绍 媒资管理系统是每个在线教育平台所必须具备的&#xff0c;查阅百度百科对它的定义如下&#xff1a; 媒体资源管理(Media Asset Management&#xff0c;MAM)系统是建立在多媒体、网络、数据库和数字存储等先进技术基础上…

SpringCloud服务接口调用

SpringCloud服务接口调用 OpenFeign 是什么? 能干啥? 两者区别 OpenFeign使用 接口注解 微服务调用接口FeignClient Feign在消费端使用 新建cloud-consumer-feign-order80 导入eureka和openfeign依赖: <dependency><groupId>org.springframework.cloud&l…

Nginx 中的Rewrite讲解

这里写目录标题 常用的Nginx正则表达式locationelocation 分类location 常用的匹配规则location 优先级 总结RewriteRewrite全局变量是什么?rewrite 执行顺序如下&#xff1a;语法格式&#xff1a;rewrite \<regex> \<replacement> [flag];flag标记说明基于域名的…

STL入门 + 刷题(上)

&#x1f442; 【纯音&吉他】洋溢着青春气息的轻快旋律 - 歌单 - 网易云音乐 听着吉他纯音&#xff0c;看书做题&#xff0c;真是一种享受~ 补充&#xff1a;点击链接后&#xff0c;左上角有个提交按钮&#xff0c;在《算法训练营》的网站可以直接提交&#xff0c;而不需要…