莫烦pytorch学习笔记2

pytorch

类似numpy,pytorch就是在神经网络领域代替numpy的模块

神经网络在做什么?

  • 线性拟合
  • 分类

安装

pytorch类似tensorflow使用tensor表示高维信息

参考pytorch环境搭建

或者看pytorch官方文档

官网命令安装了两个东西

  • torch
  • torchvision:有一些数据库以及预训练好的网络,可以直接下载到本地的直接用--transform learning)

对比numpy和pytorch

可以进行一些矩阵相关的运算

莫烦

另外参考pytorch官方网站文档

variable变量

莫烦

为什么需要激励函数?

  • 线性方程

    y = Wx

  • 非线性方程

    y = AF(Wx) ---掰弯了233

image-20200608163055519

激励函数必须使可微分的,在反向传播back propagation的时候,只有可微分的才可以把误差传递回去

image-20200608163248878

需要注意的是,如果隐藏层比较少,可以随便选择激活函数,在隐藏层比较多的时候,需谨慎考虑,存在梯度爆炸和梯度消失的问题

默认首选

  • 少量隐藏层中可以尝试各种

  • CNN中推荐relu

  • RNN 推荐relu 和 tanh

激励函数activation function

学习资料:

  • 见莫烦python的介绍激励函数视频

几种激活函数图像

image-20200608163811659

另外softmax是一种做出来是概率图,不是线图

关于图像可以看莫烦python教程关于matplotlib,numpy以及pandas的介绍

回归(关系拟合)

回归:损失函数一般使用torch.nn.MSELoss()

import torch
import matplotlib.pyplot as plt

x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)  # x data (tensor), shape=(100, 1)
y = x.pow(2) + 0.2*torch.rand(x.size())                 # noisy y data (tensor), shape=(100, 1)

# 画图
plt.scatter(x.data.numpy(), y.data.numpy())
plt.show()

分类

分类:损失函数一般使用torch.nn.CrossEntropyLoss():比如类别[0,0,1] 计算出的概率[0.1,0.2,0.7]

快速搭建法

主要直接采用torch.nn提供的类来搭建-->对比之前使用import torch.nn.functional as F之后使用一系列函数如relu()

使用import torch.nn.functional as F搭建

import torch
import torch.nn.functional as F

class Net(torch.nn.Module):
    def __init__(self, n_feature, n_hidden, n_output):
        super(Net, self).__init__()
        self.hidden = torch.nn.Linear(n_feature, n_hidden)
        self.predict = torch.nn,Linear(n_hidden, n_output)
        
    def forward(self, x):
        x = F.relu(self.hidden(x))
        x = self.predict(x)
        return x

使用torch.nn提供的类搭建

import torch

net = torch.nn.Sequential(
	torch.nn.Linear(2,10)
    torch.nn.ReLU()
    torch.nn.Linear(10,2),
)

保存提取

主要有两种方式:

  • 保存整个网络

    torch.save(net1, 'net.pkl')
    
  • 只保存网络中的参数(速度快,占内存少)

    torch.save(net1.state_dict, 'net_params.pkl')
    
日积月累,水滴石穿
原文地址:https://www.cnblogs.com/lonelyisland/p/13085234.html