码迷,mamicode.com
首页 > 其他好文 > 详细

重学 PyTorch Tutorial

时间:2020-01-28 23:00:30      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:rri   attr   长整型   pytho   numpy   als   int   ocs   long   

重学 PyTorch Tutorial

按照《动手学习深度学习》的章节组织,参照 PyTroch Tutorial 和 Docs 来重新学习 PyTorch,为了今后基于 BERT 的 NLI 研究打基础。

数据操作

内容参考自 Deep Learning with PyTorch: A 60 Munute Blitz 之 What is PyTorch (https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html)

张量(Tensor)

张量与 Numpy 的 ndarray 非常相似。

无初始化地创建一个矩阵,如下所示:

>>> import torch
>>> torch.empty(2, 3)

tensor([[1.4905e+03, 6.6702e-43, 3.1060e-15],
        [4.2039e-45, 0.0000e+00, 0.0000e+00]])

创建一个随机初始化地矩阵,如下所示:

>>> torch.rand(2, 3)

tensor([[0.4724, 0.9018, 0.1788],
        [0.9966, 0.6328, 0.8021]])

创建一个零矩阵,指定其数据类型为长整型(torth.long),torch.long 是 torch.int64 的别名(https://pytorch.org/docs/stable/tensor_attributes.html#torch.torch.dtype),如下所示:

>>> torch.zeros(2, 3, dtype=torch.long)

tensor([[0, 0, 0],
        [0, 0, 0]])

直接从 list 中创建张量,如下所示:

>>> torch.tensor([0, 1.1, 1.2])

tensor([0.0000, 1.1000, 1.2000])

还可以在现存的张量上创建,此时也可以指定数据的类型。torch.double 是 torch.float64 的别名,torch.float 是 torch.float32 的别名(https://pytorch.org/docs/stable/tensor_attributes.html#torch.torch.dtype)。如下所示:

>>> x = torch.zeros(2, 3)
>>> x = x.new_ones(1, 2, dtype=torch.double)      # new_* methods take in sizes
>>> print(x)

tensor([[1., 1.]], dtype=torch.float64)

>>> x = torch.randn_like(x, dtype=torch.float)    # override dtype!
>>> print(x)                                      # result has the same size

tensor([[-1.8443, -3.2089]])

通过 size() 函数得到张量的尺寸,如下所示:

>> x = torch.zeros(2,3)
>> x.size()

torch.Size([2, 3])

操作符(operator)

重学 PyTorch Tutorial

标签:rri   attr   长整型   pytho   numpy   als   int   ocs   long   

原文地址:https://www.cnblogs.com/fengyubo/p/12238950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!