2.1 Numpy Torch 对比
numpy和tensor之间转换:
输出结果:
Numpy和torch的一些函数的对比:
绝对值函数
sin函数
平均值函数:
矩阵乘法:
2.2 Variable 变量
from torch.autograd import Variable
反向传播tensor不变 Variable可变
插曲 什么是激励函数
2.3 Activation 激励函数
import torch.nn.functional as F
3.1 Regression 回归
torch.unsqueeze()是让一维度变二维度 torch中只处理≥二维的数据
y=x.pow(2)是二次方 再加一些噪声
plt.scatter(是打印散点图)都需要用Numpy形式
开始定义网络啦:
需要继承torch.nn.Module
重写__init__()和forward()
有一些维度信息:
真正搭建的过程在forward里:
创建和打印网络结构:
设置优化器和损失:
还能看神经网络是怎么学习的动态图~
这里略过~有需要看视频
3.2 Classification 分类
可以看视频
3.3 快速搭建法
3.4 保存提取神经网络
保存:
提取:
3.5 批处理数据训练 DataLoader
import torch.utils.data as Data
把第九行深绿色删去
插曲 快速梯度下降使用小批量梯度下降(随机梯度下降)
其他加速下降的途径:
3.6 Optimizer 优化器
插曲:什么是卷积神经网络
4.1 CNN卷积神经网络
下载并导入数据集:
为了呈现出训练集的样子:
加载进来数据:
CNN网络搭建:
第一层
数据维度变化见注释:
前向传播(考虑到batch):
运行训练:
训练效果:
4.2 RNN 循环神经网络 分类
超参数:
准备数据:
定义RNN 其中的__init__方法
forward方法:
训练:
4.3 RNN 循环神经网络 回归
暂时略过
插曲 自编码 Autoencoder
4.4 Autoencoder自编码
有encoder和decoder
先略过