2022-03-17pytorch基本操作,数据读取

基本操作

张量与矩阵、向量、标量的关系是怎么样的?

标量表示值, 矢量表示位置, 张量表示整个空间。可以认为标量是0阶张量,向量是1阶。

Variable”赋予”张量什么功能?

Variable是torch.autograd中的数据类型,主要用于封装Tensor,使得tensor可以进行自动求导。
主要有五个属性:
1.data:被包装的Tensor
2.grad:data的梯度
3.grad_fn:创建Tensor的Function(创建张量所用到的方法,如加法或乘法),是自动求导的关键
4.requires.grad:指示张量是否需要梯度,不需要梯度的张量可以设置为false
5.is_leaf:指示张量在计算图中是否是叶子结点。

采用torch.from_numpy创建张量,并打印查看ndarray和张量数据的地址;

import torch
import numpy as np
x = np.zeros((3, 3))
y = torch.from_numpy(x)
print(y)
print(id(y))

创建张量的三种方法

1.直接创建
2.依据数值
3.依据概率分布
https://www.cnblogs.com/sakuraie/p/13341453.html

静态图和动态图的区别

动态图:搭建和运算同时进行
静态图:先搭建图,后运算

梯度清零

    w = torch.tensor([1.], requires_grad=True)
    x = torch.tensor([2.], requires_grad=True)

    for i in range(4):
        a = torch.add(w, x)
        b = torch.add(w, 1)
        y = torch.mul(a, b)

        y.backward()
        print(w.grad)

        w.grad.zero_()

此处requires_grad=True代表这个节点需要计算梯度。

数据读取

pytorch建模流程一般是:
数据——模型——损失函数——优化器,几个部分,DataLoader处理数据部分。

DataLoader

2022-03-17pytorch基本操作,数据读取
2022-03-17pytorch基本操作,数据读取
2022-03-17pytorch基本操作,数据读取

2022-03-17pytorch基本操作,数据读取

; transforms

2022-03-17pytorch基本操作,数据读取
train_transform = transforms.Compose([
    transforms.Resize((32, 32)),
    transforms.RandomCrop(32, padding=4),
    transforms.ToTensor(),
    transforms.Normalize(norm_mean, norm_std),
])

数据标准化能够加快模型的收敛

参考资料

https://github.com/TingsongYu

Original: https://blog.csdn.net/lucifer80861/article/details/123540933
Author: lucifer80861
Title: 2022-03-17pytorch基本操作,数据读取

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/761806/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球