PyTorch学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 学习目标
  • 学习内容:
    • 一 pytorch深度学习方法
    • 二 构建一个简单神经网络
    • 三 深度学习工作流和pytorch生态系统
    • 四 基于pytorch构建CNN
    • 五 RNN以及序列数据处理
    • 六 生成对抗网络
    • 七 强化学习
    • 八 将pytorch用用于生产三种不同的方法
  • 总结


学习目标

  • 4月份到来之前学完《PorTorch深度学习实战》

学习内容:

一 pytorch深度学习方法

1 Pytorch是一个用于在CPU和GPU上进行深度学习的优化张量库。基于磁带的自动求导系统使PyTorch具有动态图功能。
2 PyTorch支持用户在前向过程中dingyiPython允许执行的任何操作。反向过程会自动从图中找到去往根节点的路径,并在返回时计算梯度。
3 在计算图中,节点表示张量,边表示节点之间的关系。现存的所有深度学习框架都使用图方法进行计算。
4 深度学习的所有框架都建立在自动微分he计算图的基础上,实现的方法分为静态图和动态图。静态图在对提供的数据执行任何操作之前,程序先生称图的前向和反向过程、动态图则是在每次迭代数据后生成图,并在反向过程完成之后将其销毁,nlp常用的就是动态图。
5 全连接层充当所有架构的最后一部分,用于获得下方深度网络所得分数的概率分布。
本章总结本章介绍了一些简单的深度学习的东西:rnn以及对应变体;CNN;GAN;强化学习。除此之外还介绍一些代码的编写。`

1Tensor(张量)
Pytorch里面处理的最基本的操作对象就是Tensor(张量),它表示的其实就是一个多维矩阵,并有矩阵相关的运算操作。在使用上和numpy是对应的,它和numpy唯一的不同就是,pytorch可以在GPU上运行,而numpy不可以。所以,我们也可以使用Tensor来代替numpy的使用。当然,二者也可以相互转换。
Tensor的基本数据类型有五种:
32位浮点型:torch.FloatTensor。pyorch.Tensor()默认的就是这种类型。
64位整型:torch.LongTensor。
32位整型:torch.IntTensor。
16位整型:torch.ShortTensor。
64位浮点型:torch.DoubleTensor。`
import  torch
uninitialized=torch.Tensor(3,2)
rand_initialized=torch.rand(3,2)
# rand方法提供给定大小的随机矩阵,Tensor函数返回初始化的张量
matrix_with_ones=torch.ones(3,2)
matrix_with_zeros=torch.zeros(3,2)
size=rand_initialized.size()
# 调用shape属性可以获得张量的形状
shape=rand_initialized.shape
print(size==shape)
# shape对象是从Pytorch元组继承的,所有原祖上所有可能的操作也可以在shape对象上进行、
print(shape[0])
print(shape[1])

输出结果
PyTorch学习笔记_第1张图片

张量——标量操作
x=torch.ones(3,2)
print(x)
y=torch.ones(3,2)+2
print(y)
z=torch.ones(2,1)
print(z)
print(x*y@z)

PyTorch学习笔记_第2张图片
通过运算符或者是add函数,可以将两个相同形状的张量相加,已获得相同形状的输出张量。a.add(b不会对现有的张量做改变,而a.add_(b)使用求和结果更新张量a并返回更新后的a。
in-place运算符遵循后缀下划线的约定如add_和sub_
只有一个唯独大小不同的张量可以适用cat进行连接。如果要向张量中添加新维度,则需要用stack。
PyTorch中面向用户的主要数据结构是一个THTsor对象,他保存有关难度、偏移、步长等信息。THTensor存储的另外一个主要信息是指向THStorge对象的指针,它是为存储而保留的张量对象的内部层。

x=torch.ones(2,2)
xv=x.view(-1)
xn=x.numpy()
print(x)
print(xv)
print(xn)
print(x.storage())
print(xv.storage())

PyTorch学习笔记_第3张图片
THTensor存储有关维度的信息,但存储层是仅将用户指向原始数据对象的转储层。

二 构建一个简单神经网络

三 深度学习工作流和pytorch生态系统

四 基于pytorch构建CNN

五 RNN以及序列数据处理

六 生成对抗网络

七 强化学习

八 将pytorch用用于生产三种不同的方法

总结

你可能感兴趣的:(pytorch,学习,深度学习)