一文读懂PyTorch张量基础(附代码)

640?wx_fmt=png

作者:Matthew Mayo, KDnuggets

翻译:和中华

校对:丁楠雅

本文约1000字,建议阅读5分钟。

本文介绍了PyTorch Tensor最基础的知识以及如何跟Numpy的ndarray互相转换。

本文介绍了PyTorch中的Tensor类,它类似于Numpy中的ndarray,它构成了在PyTorch中构建神经网络的基础。


我们已经知道张量到底是什么了,并且知道如何用Numpy的ndarray来表示它们,现在我们看看如何在PyTorch中表示它们。

 

自从Facebook在2017年初将PyTorch开源以来,它已经在机器学习领域取得了令人瞩目的成绩。它可能没有像TensorFlow那样被广泛采用 --- 它的最初发布时间早于PyTorch一年,背后有Google的支持,并且当神经网络工具迎来新的潮流时,它已经将自己确立为了金牌标准。但PyTorch在研究领域受到了广泛的关注,这种关注大部分来自与Torch本身的关系,以及它的动态计算图。

640?wx_fmt=png


尽管最近我的注意力都在PyTorch上,但这篇文章并不是PyTorch的教程。它更多地是介绍PyTorch的Tensor类,这与Numpy的ndarray类似。

张量基础


让我们来看一下PyTorch的张量基础知识,从创建张量开始(使用Tensor类):

import torch

 

# Create a Torch tensor

t = torch.Tensor([[1, 2, 3], [4, 5, 6]])

t

 

 

tensor([[ 1.,  2.,  3.],

        [ 4.,  5.,  6.]])


你可以使用两种方式转置一个张量:

# Transpose

t.t()

 

# Transpose (via permute)

t.permute(-1,0)

两者都会产生如下输出结果:


tensor([[ 1.,  4.],

        [ 2.,  5.],

        [ 3.,  6.]])


请注意,两种方式都不会导致原始张量的改变。

 

用view重新塑造张量:


# Reshape via view

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值