(2)基础

1、张量(Tensor),即多维矩阵

    a = torch.Tensor([[2,3],[4,5],[6,7]])

    b = torch.zeros((3,3));

    c = torch.randn((3,2)); 正态分布随机初始化

2、变量(Variable)

    变量与张量相比,具有自动求导功能。因为其属于torch.autograd.Varlable包。包含三个部分:data(数据)、grad(梯度)、grad_fn(操作);

    x = Variable(torch.Tensor([1]),requires_grad = true);     requires_grad   用来表明这个变量是否求梯度。

    w = Variable(torch.Tensor([2]),requires_grad = true);

    b = Variable(torch.Tensor([3]),requires_grad = true);    

    y = w*x +b 

    y.backward();自动求导。

3、数据加载

    DataLoader类,可以实现按batch的迭代方式的数据加载

    ImageFolder图像数据加载类 可以设置参数transform等决定是否做图像增强。

4、nn.Module (模组)

    Pytorch中所有的层结构和损失函数都来自torch.nn。所有模型的构建都是从这个基类继承的。每一个层结构都有_init_,和forward函数,定义了一次前向传播,pytorch可自动进行反向传播过程。

    同时该模块也定义了常见的损失函数。 criterion = nn.CrossEntropyLoss(); loss = criterion(output , target )

5、torch.optim(优化)

     包括随机梯度下降、带动量的随机梯度下降等方法进行优化。

     通过loss.backward计算梯度并反向传播。optimizer.step()进行参数更新。

        


    

你可能感兴趣的:((2)基础)