重学 PyTorch Tutorial

Posted fengyubo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重学 PyTorch Tutorial相关的知识,希望对你有一定的参考价值。

重学 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的主要内容,如果未能解决你的问题,请参考以下文章

pytorch版本的bert模型代码

pytorch 测试 迁移学习

2. PyTorch Tutorial 1

Computer-Vision_Pytorch_Tutorial_实战

pytorch例子学习——TRANSFER LEARNING TUTORIAL

PyTorch-11 进行神经风格迁移neural style tutorial