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

pytorch 入门1-tensor 广播 view reshape

  • tensor 的四则运算
  • broadcast
import torch
import numpy as np
# 张量tensor  随机初始化
x = torch.rand(4,3)
print(x)
y =torch.randn(4,3)
print(y)
# 初始化全零 张量
a = torch.zeros((4,4),dtype=torch.long)
print(a)
#初始化全一 张量
b = torch.ones(4,4)
print(b)
c = torch.tensor(np.ones((2,3),dtype='int32'))
print(c)

常见的构造Tensor的方法:
在这里插入图片描述

# tensor 的基本操作
# 加法
print(a+b)
# add_ = replace in 操作
y = a.add_(3)
print(y)

out:

tensor([[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]])
tensor([[3, 3, 3, 3],[3, 3, 3, 3],[3, 3, 3, 3],[3, 3, 3, 3]])
#索引操作
x = torch.rand(3,4)
print(x)
# 第二列
print(x[:,1])
# 第二行
print(x[1,:])
#维度变换 张量的维度变换常见的方法有torch.view()和torch.reshape()
x = torch.randn(4,3)
y = x.view(12)
z = x.view(-1,6)
print(x.size(),y.size(),z.size())
print(x)
print(z)
# 最后x tensor size 没有发生改变
#view()仅仅是改变了对这个张量的观察角度
print(x)
#我们希望原始张量和变换后的张量互相不影响。
#为了使创建的张量和原始张量不共享内存,我们需要使用第二种方法torch.reshape(), 
#同样可以改变张量的形状,但是此函数并不能保证返回的是其拷贝值,所以官方不推荐使用
a = torch.randn(4,4)
b = a.reshape(2,8)
print(a)
print(b)
#广播机制
#当对两个形状不同的 Tensor 按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个 Tensor 形状相同后再按元素运算。
x = torch.arange(1,4).view(1,3)
print(x)
y = torch.arange(1,5).view(4,1)
print(y)
print(x+y)
http://www.lryc.cn/news/136200.html

相关文章:

  • Spring参数注解,支持数组入参(List)校验
  • 如何使用ArcGIS进行可视化分析
  • 计算机竞赛 基于LSTM的天气预测 - 时间序列预测
  • uniapp 回退到指定页面 保存页面状态
  • ansible(1)-- 部署ansible连接被控端
  • Log4j反序列化命令执行漏洞(CVE-2017-5645)Apache Log4j2 lookup JNDI 注入漏洞(CVE-2021-44228)
  • echarts 之 科技感进度条
  • 基于gin关于多级菜单的处理
  • Oracle/PL/SQL奇技淫巧之Lable标签与循环控制
  • Docker基础操作
  • AMBA总线协议(8)——AHB(六):分割传输
  • 时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
  • 【makefile】自动化变量的简述及实例
  • IntelliJ IDEA 官方网站 idea官网 http://www.jetbrains.com/idea/
  • C#,《小白学程序》第一课:初识程序
  • LeetCode--HOT100题(38)
  • C语言:指针(超深度讲解)
  • Docker详解
  • 软件开发方法:复用与扩展
  • C++新经典09--函数新特性、inline内联函数与const详解
  • C++中机器人应用程序的行为树(ROS2)
  • 像Vuex一样使用redux
  • 关于模板的大致认识【C++】
  • C#如何遍历类的属性,并获取描述/注释
  • ffmpeg 子进程从内存读取文件、提取图片到内存
  • Springboot+Netty+WebSocket搭建简单的消息通知
  • @RefreshScope静态变量注入
  • 多维时序 | MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测
  • SAP 凭证项目文本 增强 demo2
  • 一套基于C#语言开发的LIMS实验室信息管理系统源码