【pytorch04】创建Tensor

2024-06-23 12:12
文章标签 创建 tensor pytorch04

本文主要是介绍【pytorch04】创建Tensor,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

numpy中的数据创建tensor

在这里插入图片描述
数据已经在numpy中了,将numpy中的数据转到tensor中来,因为我们将使用tensor在GPU上进行加速运算
从NUMPY导入的FLOAT其实是DOUBLE类型

list中的数据创建tensor

在这里插入图片描述
FloatTensor()和大写的Tensor()接收的是shape(即数据的维度),当让也可以接收现有的数据,
接收数据时必须用list表示,接收shape时不需要中括号的(2,3)

小写的tensor()接收的是现有的数据

建议使用小写的给现成的数据,使用大写的情况少用

生成未初始化的数据

  • Torch.empty()

  • Torch.FloatTensor(d1,d2,d3)

    • Not torch.FloatTensor([1,2]) = torch.tensor([1,2])
  • Torch.IntTensor(d1,d2,d3)
    加的都是shape

在这里插入图片描述

设置默认数据类型

pytorch的默认类型是FloatTensor
增强学习一般使用double,其他一般使用float
在这里插入图片描述

随机初始化

  • [0,1] 均匀的采样在0~1之间
  • [min,max)
  • *_like

在这里插入图片描述
rand_like(a) 把a.shape读出来再送给random函数
randint(1,10,[3,3])第一个参数是最小值,第二个参数是最大值,第三个参数是shape

正态分布

  • N(0,1)
  • N(u,std)
    在这里插入图片描述
    randn(3,3) 初始化,均值为0方差为1,因此它的值可能会集中在0附近,会有一个方差为1的波动,基本在0的附近波动,因为方差比较大,所以会在一个大的范围之内跳动

torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))可以自定义均值和方差,例如要抽样3×3的正态分布的数据,先把3×3打平成9,再给出一个维度为9的list [9]的这样的均值mean,在给定一个维度为9的这样的方差std,因为3×3的tensor都是采样于同一个正态分布所以这9个数据所有的均值和方差都是一样的

torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
full([10],0)是生成长度为10但是都为0这样的向量[0,0,0,0,0,0,0,0,0,0]
方差的话是从1到0慢慢的减小[1.0,0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.2,0.1]arange不包含右边界也就是不包含0

生成的这个数据一共有十个方差,第一个方差会比比较大,所以跳动的返回比较大,后面会慢慢收敛

得到了一个dimension为1长度为10的tensor
可以用reshape改变形态

赋值为一个元素

在这里插入图片描述
设置为一个标量,dimension是0,所以给shape给一个空的例子就行[]
torch.full([],7)

如果要给一个dimension为1的向量,给一个括号括起来就行了
torch.full([1],7)

递增或递减生成等差数列

在这里插入图片描述

生成等分向量

linspace(0,10,steps=4) 这里的10是包含的,这里的steps是数量值,比如这里是4,就会把0到10等分成一个3.3,6.6,10这样的数列,可以这么认为0是开始的位置,所以还需要3个等分片段也就是将1~10这10个数字除以3,10/3=3.3333

logspace(0,-1,steps=10)0到-1之间切割成10份然后作为以10为底,指数部分为等分的指数
logspace的base参数可以设置为2,10,e等底数
在这里插入图片描述

生成全部是0或1或单位矩阵的tensor

在这里插入图片描述

在这里插入图片描述

生成随机打散的tensor

在这里插入图片描述

randperm(10)是生成0到10的索引不包含10
生成这个索引可以用来shuffle

有a和b的tensor,我们希望再dimension=0的维度上随机的shuffle,并且希望再shuffle的时候保持配对

比如说第一个tensor表示[人名,数学分数],第二个tensor表示人[人名,语文分数],因此shuffle的时候,可以在人这个维度上随机shuffle但是每个人的语文分数和数学分数必须匹配起来,因此我们需要用同一个索引来做shuffle

我们用索引的种子来做shuffle,如果是[0,1]的话就是维持不变,[1,0]的话就是第一个人和第二个人换一下位置,如果第一个人和第二个人换位置之后数学成绩反过来了,那语文成绩也要反过来
在这里插入图片描述

这篇关于【pytorch04】创建Tensor的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087123

相关文章

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

PHP7扩展开发之类的创建

本篇文章主要将如何在扩展中创建一个对象。创建的对象的过程,其实和一个小孩出生,成长的过程有些类似。 第一步,办准生证 生孩子第一步,先办准生证。声明我要生孩子了。对象创建的时候,如何办准生证呢?只要定义一个zend_class_entry变量即可。代码如下: zend_class_entry ce; zend_class_entry 是啥?可以认为它使一个原型,定义了一些对象应该有哪些东西

创建表时添加约束

查询表中的约束信息: SHOW KEYS FROM 表名; 示例: 创建depts表包含department_id该列为主键自动增长,department_name列不允许重复,location_id列不允许有空值。 create table depts(department_id int primary key auto_increment,department_name varcha

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图