Torch基础

张量的概念(tensor)

张量可以理解为数组,一维张量与数学中的向量对应,二维张量与数学中的矩阵对应
张量的维度,也可以叫张量的轴,是从0开始的

创建张量

  1. tensor = torch.arrange(num)创建一个0到num-1的行向量(一维张量),数值类型默认为浮点型
  2. tensor.shape 可以返回张量的形状,比如一个张量在一维有3个元素,二维有4个元素,三维有5个元素,则会返回torch.Size([3,4,5])
  3. tensor.numel() 可以返回张量中所含元素的数量, 注意,一维张量的形状和所含元素数量是一样的。一般地,元素数量等于各个形状相乘
  4. tensor.reshape(dim1,dim2,...) 可以在不改变张量的元素个数和值的情况下,改变张量的维度;如果dimX为-1,则torch自动根据其他维度计算该维度的值
  5. torch.zeros(shape) 创建一个指定形状,元素值全为0的张量
  6. torch.ones(shape) 创建一个指定形状,元素值全为1的张量
  7. torch.randn(shape) 创建一个指定形状,符合标准差为1、期望为0的标准正态分布的张量
  8. torch.tensor(list_of_python) 直接赋值,括号内为Python列表的嵌套,最外层中括号对应于张量的轴0。

张量运算

  • 按元素计算: +,-,*,/;**(幂),exp(tensor)返回e的tensor次幂
  • 线性代数运算(此处略)
  • 按指定维度拼接(concatenate): torch.cat((tensor1,tensor2),dim),意思是把tensor1和tensor2按指定的dim进行拼接
  • 构建逻辑张量 tensor1 == tensor2, 在对应位置返回布尔值
posted @   智子lock  阅读(570)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示