当前位置: 首页 > news >正文

Pytorch-张量的创建

🌈个人主页: 羽晨同学

💫个人格言:“成为自己未来的主人~”   

简介:

一个Python深度学习框架,它将数据封装成张量(Tensor)进行处理,Python中的张量就是元素为同一种数据类型的多维矩阵,在Python中,张量以“类”的形式封装起来,对张量的一些运算,处理的方法被封装在类中.

安装:

pip install torch==2.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

张量的创建

张量的基本创建方法

torch.tensor根据指定数据创建张量

torch.Tensor根据形状创建张量,其也可用来创建指定数据的张量 

torch.tensor()根据指定数据创建张量

import torch
import numpy as np
# 1.创建张量标量
data=torch.tensor(10)
print(data)
# 2. numpy 数组,由于data 为float64,下面代码也使用该类型
data=np.random.randn(2,3)
data=torch.tensor(data)
print(data)
# 3.列表,下面代码使用默认元素类型 float32
data=[[10.,20.,30.],[40.,50.,60.]]
data=torch.tensor(data)
print(data)

 torch.Tensor()根据指定形状创建张量,也可以用来创建指定数据的张量

# 1.创建2行3列的张量,默认dtype为float32
data=torch.Tensor(2,3)
print(data)
# 2.注意:如果传递列表,则创建包含指定元素张量
data=torch.Tensor([10])
print(data)
data=torch.Tensor([10,20])
print(data)

 创建线性和随机张量

torch.arange和torch.linspace创建线性张量

torch.randn创建随机张量

 torch.arange()、torch.linspace()创建线性张量

# 1. 在指定区间按照步长生成元素【start,end,step】
data=torch.arange(0,10,2)
print(data)
# 2. 在指定区间按照元素个数生成[start,end,num]
data=torch.linspace(0,11,10)
print(data)

 torch.randn()创建随机张量

# 1.创建随机张量
data=torch.randn(2,3) # 创建2行3列张量
print(data)

 创建0-1张量

torch.ones 创建全1张量

torch.zeros 创建全0张量

torch.full 创建全为指定值张量

创建全0张量

# 1.创建指定形状全0张量
data=torch.zeros(2,3)
print(data)

创建全1张量

# 2.创建全1张量
data=torch.ones(2,3)
print(data)

创建全为指定值张量 

# 3.创建指定形状指定值的张量
data=torch.full([2,3],10)
print(data)

张量的类型转换

data.type(torch.DoubleTensor)

data.double() 

 data.type(torch.DoubleTensor)

data=torch.full([2,3],10)
print(data.dtype)
# 将data元素类型转换为float64类型
data=data.type(torch.DoubleTensor)
print(data.dtype)
# 转换成其他类型
data=data.type(torch.IntTensor)
print(data.dtype)
data=data.type(torch.LongTensor)
print(data.dtype)
data=data.type(torch.FloatTensor)
print(data.dtype)

 data.double()

data=torch.full([2,3],10)
print(data.dtype)
# 将data元素类型转换为 float64类型
data=data.double()
print(data.dtype)
# 转换成其他类型
data=data.int()
data=data.long()
data=data.float()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 电脑装机-热插拔
  • P1012 [NOIP1998 提高组] 拼数
  • java基础学习笔记1
  • 50 mysql 的 “where 1 = 1“ 的优化处理
  • 开启智能能效管理:4G 智能计量控制插座的协议对接与私有化部署
  • 36、Python之面向对象:容器类协议与collections.abc
  • Android进阶之路 - app后台切回前台触发超时保护退出登录
  • Java Web —— 第四天(HTTP协议,Tomcat)
  • 关于RCE
  • 白骑士的Matlab教学附加篇 5.2 代码规范与最佳实践
  • vue.config.js 配置多入口文件
  • LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤
  • DBAPI如何用SQL查询出类似嵌套JSON的树状结构数据(例如省市区父子结构数据)
  • 开源力量,智领云KDP为大数据处理领域注入云原生活力
  • [C++内存管理]new,delete,operator new,opreator delete
  • eclipse的离线汉化
  • ES6--对象的扩展
  • ES6系统学习----从Apollo Client看解构赋值
  • Flannel解读
  • Gradle 5.0 正式版发布
  • JavaScript 基础知识 - 入门篇(一)
  • Java应用性能调优
  • node入门
  • PAT A1120
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • ubuntu 下nginx安装 并支持https协议
  • vue 配置sass、scss全局变量
  • Vue2 SSR 的优化之旅
  • Webpack 4x 之路 ( 四 )
  • 全栈开发——Linux
  • 日剧·日综资源集合(建议收藏)
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 一、python与pycharm的安装
  • 自制字幕遮挡器
  • Hibernate主键生成策略及选择
  • puppet连载22:define用法
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 我们雇佣了一只大猴子...
  • ​​​​​​​​​​​​​​Γ函数
  • ​如何防止网络攻击?
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ​一些不规范的GTID使用场景
  • # centos7下FFmpeg环境部署记录
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • %check_box% in rails :coditions={:has_many , :through}
  • (33)STM32——485实验笔记
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (九)信息融合方式简介
  • (六)Hibernate的二级缓存
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET 使用配置文件