pytorch 入门1-tensor 广播 view reshape

  • tensor 的四则运算
  • broadcast
python 复制代码
import torch
import numpy as np
# 张量tensor  随机初始化
x = torch.rand(4,3)
print(x)
y =torch.randn(4,3)
print(y)
python 复制代码
# 初始化全零 张量
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的方法:

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

out:

python 复制代码
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]])
python 复制代码
#索引操作
x = torch.rand(3,4)
print(x)
# 第二列
print(x[:,1])
# 第二行
print(x[1,:])
python 复制代码
#维度变换 张量的维度变换常见的方法有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)
python 复制代码
#我们希望原始张量和变换后的张量互相不影响。
#为了使创建的张量和原始张量不共享内存,我们需要使用第二种方法torch.reshape(), 
#同样可以改变张量的形状,但是此函数并不能保证返回的是其拷贝值,所以官方不推荐使用
a = torch.randn(4,4)
b = a.reshape(2,8)
print(a)
print(b)
python 复制代码
#广播机制
#当对两个形状不同的 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)
相关推荐
山北雨夜漫步7 分钟前
机器学习 Day18 Support Vector Machine ——最优美的机器学习算法
人工智能·算法·机器学习
正在走向自律10 分钟前
从0到1吃透卷积神经网络(CNN):原理与实战全解析
人工智能·神经网络·cnn
拓端研究室TRL13 分钟前
Python+AI提示词糖尿病预测融合模型:伯努利朴素贝叶斯、逻辑回归、决策树、随机森林、支持向量机SVM应用
人工智能·python·决策树·随机森林·逻辑回归
winfredzhang18 分钟前
使用Python和Selenium打造一个全网页截图工具
开发语言·python·selenium
mahuifa26 分钟前
(10)python开发经验
开发语言·python
何双新26 分钟前
第8讲、Multi-Head Attention 的核心机制与实现细节
人工智能·transformer
moongoblin28 分钟前
协作赋能-1-制造业生产流程重构
大数据·人工智能·经验分享·制造
穿越光年30 分钟前
MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频
人工智能·音视频
Johny_Zhao1 小时前
AI+自动化测试系统方案:网络设备与网络应用智能测试
linux·网络·人工智能·python·网络安全·docker·ai·信息安全·云计算·ansible·shell·cisco·huawei·系统运维·itsm·华三·deepseek
Quieeeet1 小时前
【搭建Node-RED + MQTT Broker实现AI大模型交互】
人工智能·物联网·交互