【Pytorch 基础教程2】10分钟掌握Tensor基础 VSCode +Pytorch配置

Pytorch 基础教程 02

Tensor
PyTorch 作为Numpy的代替品,可以使用GPU的强大计算能力
提供最大的灵活性和告诉的深度学习研究平台

这里补充上实验环境调试:第一次使用VS Code可以参考:PyTorch(超详细)部署与激活 举起Python火炬,点亮智慧人生【Windows版】

另外这里可能会遇到一些环境问题:在这里插入图片描述
为了解决这里先点击VS Code右下角环境,在弹出菜单中选择Pytorch环境
在这里插入图片描述
开始安装torch library
在这里插入图片描述
SUCCESS !!

开始coding

Tensor是 PyTorch 中的核心数据抽象。此交互式笔记本深入介绍了 torch.Tensor 类。
首先,让我们导入 PyTorch 模块。我们还将添加 Python 的数学模块来简化一些示例。

2.1 创建Tensor

创建张量的最简单方法是使用 torch.empty() 调用:

x = torch.empty(3, 4)
print(type(x))
print(x)

结果:

在这里插入图片描述
让我们拆分刚刚所做的事情:

  • 我们使用 torch 模块附带的众多工厂方法之一创建了一个张量。
  • 张量本身是二维的,这个例子有 3 行和 4 列。
  • 返回对象的类型是 torch.Tensor ,它是 torch.FloatTensor 的别名;默认的情况下,PyTorch 张量由 32 位浮点数填充。 (下面详细介绍数据类型。)
  • 打印张量时,您可能会看到一些看起来随机的值。 torch.empty() 调用为张量分配内存,但不使用任何值对其进行初始化 - 因此您看到的是分配时内存中的内容。

关于张量及其维数和术语的简要说明:

  • 有时你会看到称为vector的一维tensor。
  • 同样,二维tensor通常称为矩阵。
  • 任何超过二维的东西通常都被称为tensor。
    通常,你需要使用某个值来初始化张量。常见情况是全零、全一或随机值, torch 模块为所有这些提供工厂方法:
zeros = torch.zeros(2, 3)
print(zeros)ones = torch.ones(2, 3)
print(ones)torch.manual_seed(1000)
random = torch.rand(2, 3)
print(random)

在这里插入图片描述

2.2 随机Tensors 和 seeding

说到随机张量,您是否注意到紧随其前面的 torch.manual_seed() 调用?使用随机值初始化张量(例如模型的学习权重)很常见,但有时(尤其是在研究环境中)你需要确保结果的可重复性。手动设置随机数生成器的种子是实现此目的的方法。让我们更仔细地看看:

torch.manual_seed(1000)
random1 = torch.rand(2, 3)
print(random1)random2 = torch.rand(2, 3)
print(random2)torch.manual_seed(1000)
random3 = torch.rand(2, 3)
print(random3)random4 = torch.rand(2, 3)
print(random4)

在这里插入图片描述

你应该在上面看到的是 random1 和 random3 具有相同的值, random2 和 random4 也是如此。手动设置 RNG 的种子会重置它,因此在大多数设置中,取决于随机数的相同计算应该提供相同的结果。

2.3 Tensor Shapes

通常,当你对两个或多个张量执行操作时,它们需要具有相同的形状 - 即具有相同的维度数以及每个维度中相同的单元数。为此,我们有 torch.*_like() 方法:

x = torch.empty(2, 2, 3)
print(x.shape)
print(x)empty_like_x = torch.empty_like(x)
print(empty_like_x.shape)
print(empty_like_x)zeros_like_x = torch.zeros_like(x)
print(zeros_like_x.shape)
print(zeros_like_x)ones_like_x = torch.ones_like(x)
print(ones_like_x.shape)
print(ones_like_x)rand_like_x = torch.rand_like(x)
print(rand_like_x.shape)
print(rand_like_x)

在这里插入图片描述
上面代码单元中的第一个新内容是在张量上使用 .shape 属性。此属性包含张量每个维度的范围的列表 - 在我们的示例中, x 是形状为 2 x 2 x 3 的三维张量。

下面,我们调用 .empty_like() 、 .zeros_like() 、 .ones_like() 和 .rand_like() 方法。使用 .shape 属性,我们可以验证这些方法中的每一个都返回具有相同维度和范围的张量。

创建将覆盖的张量的最后一种方法是直接从 PyTorch 集合指定其数据:

在这里插入图片描述

2.4 Tensor Data Types

有几种方法可以设置张量的数据类型:

a = torch.ones((2, 3), dtype=torch.int16)
print(a)b = torch.rand((2, 3), dtype=torch.float64) * 20.
print(b)c = b.to(torch.int32)
print(c)

在这里插入图片描述
设置张量基础数据类型的最简单方法是在创建时使用可选参数。在上面单元格的第一行中,我们为张量 a 设置 dtype=torch.int16 。当我们打印 a 时,我们可以看到它充满了 1 而不是 1. Python 的细节提示是这是一个整数类型而不是浮点数。

关于打印 a 需要注意的另一件事是,不像我们将 dtype 保留为默认值(32 位浮点)不同,打印张量还指定其 dtype.

我们可能还发现,我们从将张量的形状指定为一系列整数参数,到将这些参数分组到一个元组中。这并不是绝对必要的 - PyTorch 会将一系列初始的、未标记的整数参数作为张量形状 - 但在添加可选参数时,它可以使您的意图更具可读性。

设置数据类型的另一种方法是使用 .to() 方法。在上面的单元格中,我们以通常的方式创建一个随机浮点张量 b 。接下来,我们通过使用 .to() 方法将 b 转换为 32 位整数来创建 c 。请注意, c 包含与 b 相同的所有值,但被截断为整数。

可用的数据类型包括:

torch.bool
torch.int8
torch.uint8
torch.int16
torch.int32
torch.int64
torch.half
torch.float
torch.double
torch.bfloat

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

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

相关文章

优先队列C

由于看到P1629 邮递员送信这题,就去学了优先队列.为学习Dijkstra算法做准备 什么是优先队列 优先队列:是一种特殊类型的队列,每个元素都有一个相关的优先级。在优先队列中,元素按照优先级的顺序进行排列,具有最高(或最低&#x…

Prometheus 教程

目录 一、简介二、下载安装1、安装 prometheus2、安装 alertmanager3、安装 grafana4、安装 node_exporter5、安装 mysqld_exporter 一、简介 Prometheus 是一个开源的系统监控和警报工具。它最初由 SoundCloud 开发,并于 2012 年发布为开源项目。Prometheus 专注于…

利用vite快速搭建vue3项目

1、选择一个文件夹,在vscode终端打开,输入命令【npm create vitelatest】 npm create vitelatest 2、提示你输入项目名称之后,我这里设置的是【rookiedemo】 3、回车之后,出现选择框架的提示,我们选择【vue】回车 4、…

js中使用for in注意事项,key的类型为string类型

for in是一个非常实用的存在,既可以遍历数组,又可以遍历对象,所以我一般都是会用来遍历可迭代的数据,遍历数组和对象的时候,要注意使用万能遍历方式: const users [1, 3, 45, 6]// const users {// 1…

Polyspace静态检测步骤

Polyspace 是一个代码静态分析和验证的工具,隶属于MATLAB,用于检测代码中的错误和缺陷,包括内存泄漏、数组越界、空指针引用等。帮助开发团队提高代码质量,减少软件开发过程中的错误和风险。 1、打开MATLAB R2018b 2、找到Polys…

AR智能眼镜主板硬件设计_AR眼镜光学方案

AR眼镜凭借其通过导航、游戏、聊天、翻译、音乐、电影和拍照等交互方式,将现实与虚拟进行无缝融合的特点,实现了更加沉浸式的体验。然而,要让AR眼镜真正成为便捷实用的智能设备,需要解决一系列技术难题,如显示、散热、…

Stable Diffusion 绘画入门教程(webui)-图生图

通过之前的文章相信大家对文生图已经不陌生了,那么图生图是干啥的呢? 简单理解就是根据我们给出的图片做为参考进行生成图片。 一、能干啥 这里举两个例子 1、二次元头像 真人转二次元,或者二次元转真人都行, 下图为真人转二次…

小清新卡通人物404错误页面源码

小清新卡通人物404错误页面源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 蓝奏云:https://wfr.lanzout.com/i6XbU1olftde

二叉树(6)——二叉树的创建和销毁

1 二叉树的创建 整体思路 将数组里的元素一直分为根,左子树,右子树,遇到#就返回NULL,链接到上层递归的左子树或者右子树,一定要把一个节点的左子树全部递归完才能返回到右子树。这种方法也可以scanf一个数组里的元素&…

Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密

一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),对Spring Boot项目的属性读取时进行加解密,但是没有说明对System.setProperty(key, value)设…

Docker Compose映射卷的作用是什么,dockerfile这个文件有什么区别和联系?

Docker Compose中映射卷(Volumes)的作用和Dockerfile之间既有区别也有联系。下面详细解释两者的作用、区别和联系: Docker Compose映射卷的作用 在Docker Compose中,卷(Volumes)用于数据持久化和数据共享…

【实战 JS逆向+python模拟获取+Redis token会话更新】实战模拟测试 某巴批发网 仅供学习

逆向日期:2024.02.20 使用工具:Node.js、python、Redis 加密方法:md5标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标…

day07-实战-今日指数

今日指数-day07 1.股票Code联想推荐 1.1 股票Code联想推荐功能介绍 1) 原型效果 输入框输入股票编码后,显示关联的股票信息; 2)接口定义说明 接口说明: 功能描述:根据输入的个股代码,进行模糊查询,返…

Python学习-流程图、分支与循环(branch and loop)

十、流程图 1、流程图(Flowchart) 流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。 好处: 1)代码的指导文档 2)有助…

云服务器ECS价格表出炉——阿里云

2024年阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

docker (十一)-进阶篇-docker-compos最佳实践部署zabbix

一 部署docker环境 关闭防火墙、selinux、开启docker,并设置开机自启动 注意点:docker部署的时候,bip要指定,不然会导致虚拟机ip和容器ip冲突,ssh连不上虚拟机 部署请参考 docker (二)-yum…

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址:Welcome to Python.org 下载路径:Download Python | Python.org ​​​​​​​ linux源码安装包下载: windows二进制安装包下载: 二、Linux如何安装python 2.1 单版本安装 以安装python…

Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

Problem - 15C - Codeforces 目录 Nim游戏: 1~n的异或和: 代码: Nim游戏: n个石头堆,谁最后没得取谁败 我用的异或思考法,对所有堆异或。开局异或和为0的败 最后全是0,异或完也是0. //最…

DDI中的自适应子结构

SA-DDI提出了一种子结构感知图神经网络,一种配备了子结构注意力机制和用于DDI预测的子结构-子结构交互模块(SSIM)的消息传递神经网络。具体而言,基于分子中官能团的尺寸和形状通常是不规则的化学直觉,子结构注意力被设…

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数,则相机会直接完成这张图像的采集,并自动将缺失行数补黑出图,机制有以下几种选择: 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图