创建Tensor

1、从numpy导入

注:从np导入的Float其实是DOUBLE类型

a = np.array([2, 3.3])
torch.from_numpy(a)a = np.ones([2,3])
torch.from_numpy(a)

在这里插入图片描述

2、从list导入

torch.tensor([2., 3.2])torch.FloatTensor([2., 3.2])
#或者Tensor,可以接受shape,如二行三列(2,3)torch.tensor([[2., 3.2], [1., 22.3]])

在这里插入图片描述

3、未初始化数据生成

会生成一系列或大或小无规律的数据,只是作为容器,需要后续真实数据进行替换

torch.empty()torch.Tensor(2, 3)torch.IntTensor(2, 3)torch.FloatTensor(2, 3)

在这里插入图片描述

4、设置默认tensor类型

使用tensor生成张量数据,默认是float类型
torch.set_default_tensor_type(torch.DoubleTensor)
#增强学习一般使用double,其他一般使用float

在这里插入图片描述

5、均匀分布 rand/rand_like, randint

rand:
sample出的元素符合在[0,1)空间均值分布
如:a = torch.rand(3 ,3) , (3, 3)是shape

rand_like:
将一个目标张量a的shape读取之后,在进行[0,1)均值分布随机sanple数据填充
要是想生成[0, 10)均匀分布的数值,10 * torch.rand_like(a)

randint:
只能sample整数,且要给出数值范围和shape。
如: torch.randint(1, 10, (3, 3))

在这里插入图片描述

6、正态分布 randn

最常见的N(0, 1):
torch.randn(3, 3), (3, 3)是shape

在这里插入图片描述

7、full全部填充同一数值

full:给定目标张量shape,再给定填充数值
torch.full([shape], number)

在这里插入图片描述

8、arange/range 阶梯

在torch中建议使用arange,不需要使用range
arange:
torch.arange(min, max, step)# --> [min, max), step默认为1

在这里插入图片描述

9、linspace/logspace 等分

linspace:
torch.linspace(min, max, steps=?)
#[min, max], steps不是阶梯大小,而是stpes等于几,就等分为几个数,阶梯数等于stpes - 1
在这里插入图片描述
logspace:
在linspace结果上,里面的各元素作为x,最后各元素位置的数值结果为10的x次方

在这里插入图片描述

10、ones/zeros/eye

ones、zeros:
指定张量的shape,所有元素的值赋值为0、1
在这里插入图片描述
eye:
单位矩阵
torch.eye(3)则生成3*3的单位矩阵
若torch.eye(3,4),则多余的第四列数值均为0

在这里插入图片描述

11、randperm随机打散

torch.randperm(10) -->[0,10)
在这里插入图片描述
索引实现random.shuffle效果:

定义
a = torch.rand(2,3)
假设两行分别是人物1、人物2的a信息
b = torch.rand(2,2)
假设两行分别是人物1、人物2的b信息
现在想随机索引行顺序,但人物1、人物2对应的信息不变,只变数据顺序
idx = torch.randperm(2)
idx #看索引顺序
a[idx]
b[idx] # a、b都按idx的索引顺序进行打乱,但人物1、人物2对应的信息依旧不变

在这里插入图片描述

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

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

相关文章

论文速览【序列模型 seq2seq】—— 【Ptr-Net】Pointer Networks

标题:Pointer Networks文章链接:Pointer Networks参考代码(非官方):keon/pointer-networks发表:NIPS 2015领域:序列模型(RNN seq2seq)改进 / 深度学习解决组合优化问题【…

【基于MBD开发模式的matlab持续集成(一)】

基于MBD开发模式的matlab持续集成 引言 或许是感受到行业内卷的愈加激烈,在传统制造和高新技术相结合的新能源领域对软件工程开发的要求也愈加提高,尤其在互联网已经大行 其道的敏捷开发,便顺其自然的被新能源的老板们所看重。 概述 本文…

java面试题-设计模式基础

面试专题-设计模式 前言 在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

Vue 学习笔记 错误ResizeObserver loop completed with undelivered notifications

环境Vue3 Ts 使用了el-table 后,容易出现如下错误 ERROR ResizeObserver loop completed with undelivered notifications. at handleError (webpack-internal:///./node_modules/webpack-dev-server/client/overlay.js:299:58) at eval (webpack-internal:///./nod…

基于FFmpeg+SDL的视频播放器的制作

基于FFmpegSDL的视频播放器的制作 基于FFmpegSDL的视频播放器的制作实验1实验2实验3实验4基本练习进阶练习 实验5 基于FFmpegSDL的视频播放器的制作 雷霄骅博士的课程。 课程链接:https://blog.csdn.net/leixiaohua1020/article/details/47068015 初学 FFmpeg&am…

PTE 口语练习准备(二)

目录 Day 1单词咬字专项 ChapterI 咬字练习之音书与辅音 Chapter 2咬字练习之“字典音 Chapter 3元“漏,加,换”语速练习 Day 1单词咬字专项 考量项目 单词 单词咬字也决定了句子呈现的位置 重音位置 电脑是有固有的模型的,给你的模型…

Python爬虫在Web应用自动化测试中的应用

在Web应用开发过程中,自动化测试是确保应用质量和稳定性的重要环节。本文将介绍如何使用Python爬虫与自动化测试技术相结合,实现对Web应用进行自动化测试的方法和步骤。通过这种结合,我们可以提高测试效率、减少人力成本,并确保应…

探索入行嵌入式应该要学会哪些知识?

入行嵌入式领域,需掌握嵌入式系统基础、C语言、C编程,了解微控制器、微处理器,学习电子电路基础,正好看我这一套保姆式嵌入式休息资料,里面包含了编程教学、数据处理、毕设800套和语言类教学,非常的全面、放…

自注意力机制

回顾以下注意力机制: 自注意力机制 Self-Attention的关键点 在于 K ≈ \approx ≈V ≈ \approx ≈Q 来源于同一个X,三者是同源的,通过 W Q W_Q WQ​, W K W_K WK​, W V W_V WV​做了一层线性变换。 接下来步骤和注意力机制一模一样。 …

开发者必备!如何将闲置iPad Pro打造为编程工具,使用VS Code编写代码

文章目录 前言1. 本地环境配置2. 内网穿透2.1 安装cpolar内网穿透(支持一键自动安装脚本)2.2 创建HTTP隧道 3. 测试远程访问4. 配置固定二级子域名4.1 保留二级子域名4.2 配置二级子域名 5. 测试使用固定二级子域名远程访问6. ipad pro通过软件远程vscode6.1 创建TCP隧道 7. ip…

Vue3最佳实践 第五章 Vue 组件应用 3( Slots )

5.4 Slots 我们已经了解到组件能够接收任意类型的 JavaScript 值作为 props,但组件要如何接收模板内容呢?在某些场景中,我们可能想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段。Slots 可用于将Html内容从父组…

一文了解什么SEO

搜索引擎优化 (SEO) 是一门让页面在 Google 等搜索引擎中排名更高的艺术和科学。 一、搜索引擎优化的好处 搜索引擎优化是在线营销的关键部分,因为搜索是用户浏览网络的主要方式之一。 搜索结果以有序列表的形式呈现,网站在该列表中的排名越高&#x…

指针笔试题讲解(让指针变得简单易懂)

数组名的理解 : 数组名就是首元素地址 但是有两个例外: 1. sizeof(数组名)这里的数组名表示整个数组的大小,sizeof(数组名)计算的是整个数组的大小,单位是字节 2. &数组名 这里的数组…

彩色文本进度条

动态加色打印,\033控制,显示进行到的百分比,实时更新总共用时。 (本笔记适合能熟练应用字符串和循环技能的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程…

CH2--x86系统架构概览

2.1 OVERVIEW OF THE SYSTEM-LEVEL ARCHITECTURE 图中的实线箭头表示线性地址,虚线表示段选择器,虚线箭头表示物理地址 2.1.1 Global and Local Descriptor Tables 全局描述符表 (GDT) GDT是一个全局的段描述符表,它存储在系统内存中的一个固…

Aztec交易架构解析

1. 引言 前序博客有: Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私完全保密的以太坊交易:Aztec网络的隐私架构Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能Account Abstraction账号抽象——…

力扣:102. 二叉树的层序遍历(Python3)

题目: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网…

Linux文件内容显示练习

1.新建2个文件b1.txt b2.txt ,使用vim打开b1.txt 输入“Hello World”字符串,将b1.txt硬链接到b2.txt 查看2个文件的硬连接数 [rootserver ~]# vim b1.txt [rootserver ~]# ln b1.txt b2.txt #建立硬链接 [rootserver ~]# stat b2.txt [rootserver ~]# stat b1.txt [r…

Android开发MVP架构记录

Android开发MVP架构记录 安卓的MVP(Model-View-Presenter)架构是一种常见的软件设计模式,用于帮助开发者组织和分离应用程序的不同组成部分。MVP架构的目标是将应用程序的业务逻辑(Presenter)、用户界面(V…

CockroachDB集群部署

CockroachDB集群部署 1、CockroachDB简介 CockroachDB(有时简称为CRDB)是一个免费的、开源的分布式 SQL 数据库,它建立在一个事务性和强一致性的键 值存储之上。它由 PebbleDB(一个受 RocksDB/leveldb 启发的 K/B 存储库)支持,并使用 Raft 分布式共识…