![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch
洌泉_就这样吧
Less is more.
展开
-
【PyTorch】保存/加载模型参数
1 操作步骤保存模型使用torch.save(model, 'model.ckpt')保存模型参数加载模型使用model.load_state_dict(torch.load('model.ckpt'))加载模型,不过在这之前模型的网络结构也需要进行定义。加载之后,要进行测试,则需要使用model.eval()来固定模型参数(BatchNorm不再起作用),并去除Dropout操作;要继续进行训练,则正常放置训练模块即可。2 代码实例保存模型import torch impo原创 2021-04-26 15:54:58 · 2532 阅读 · 0 评论 -
【PyTorch】BatchNorm方法原理和使用
BatchNorm是2015年由Sergey Ioffe和Christian Szegedy在论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》中提出的,目的是加快深度神经网络的训练速度,提高训练精度1 提出背景深度神经网络学习很慢,原因之一是每层输入的分布都会改变,导致参数难以较快收敛应对参数难以收敛的问题,还需仔细设计模型参数初始化,并采用较小的学习率.原创 2021-04-26 15:31:31 · 2135 阅读 · 0 评论 -
【PyTorch】变分自编码器/Variational Autoencoder(VAE)
1 模型介绍变分自编码器(variational autoencoder,VAE)的原理介绍:VAE将经过神经网络编码后的隐藏层假设为一个标准的高斯分布,然后再从这个分布中采样一个特征,再用这个特征进行解码,期望得到与原始输入相同的结果,损失和AE几乎一样,只是增加编码推断分布与标准高斯分布的KL散度的正则项,显然增加这个正则项的目的就是防止模型退化成普通的AE,因为网络训练时为了尽量减小重构误差,必然使得方差逐渐被降到0,这样便不再会有随机采样噪声,也就变成了普通的AE。(出处:https://ww原创 2021-04-23 10:24:45 · 2291 阅读 · 5 评论 -
【PyTorch】生成对抗网络/GAN(generative adversarial network)
模型介绍原创 2021-04-22 16:11:45 · 767 阅读 · 0 评论 -
【PyTorch】双向循环神经网络/Bidirectional Recurrent Neural Network
1 模型描述双向循环神经网络的特点是,当前时刻的输出不仅和之前的状态有关,还可能和未来的状态有关系,也就是同一层节点之间的信息是双向流动的与一般的循环神经网络相比,在代码上改动不多,调用的函数仍是nn.LSTM,只是函数参数bidirectional设置为True,而隐层分成forward layer和backward layer,分别进行两个不同时间方向的信息传递,因此,隐层节点数翻倍解决的问题是MNIST手写数字分类2 具体代码import torch import torch.nn a原创 2021-04-21 17:07:59 · 3252 阅读 · 0 评论 -
【PyTorch】卷积神经网络/Convolutional Neural Network(CNN)
1 模型描述卷积神经网络是用来处理图像识别的强大算法(之一)模型针对的是MNIST手写数字的十分类问题模型通过nn.Sequential构建两个卷积层主要步骤包括卷积计算、ReLU、Maxpool、Softmax输出层是线性的softmax,得到最大概率的分类作为结果2 具体代码# convolutional neural networkimport torch import torch.nn as nnimport torchvisionimport torchvision.tr原创 2021-04-21 11:05:44 · 303 阅读 · 0 评论 -
【PyTorch】Resnet/深度残差网络
1 模型描述深度残差网络(Resnet)是由来自Microsoft Research的4位学者(Kaiming He等人)提出的卷积神经网络,在2015年的ImageNet大规模视觉识别竞赛(ImageNet Large Scale Visual Recognition Challenge, ILSVRC)中获得了图像分类和物体识别的优胜。 残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。本文采用PyTor原创 2021-04-20 17:08:38 · 468 阅读 · 0 评论 -
【PyTorch】语言模型/Language model
1 模型描述(1)语言模型的定义,来自于维基百科统计式的语言模型是一个几率分布。语言模型提供上下文来区分听起来相似的单词和短语。例如,短语“再给我两份葱,让我把记忆煎成饼”和“再给我两分钟,让我把记忆结成冰”听起来相似,但意思不同。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析,手写体识别和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的几率变得很困难,这也是要使用近似的平滑原创 2021-04-19 14:10:35 · 644 阅读 · 0 评论 -
【PyTorch】循环神经网络/Recurrent Neural Network(RNN)
1 模型描述用PyTorch实现循环神经网络,主要手段是使用nn.modual构建RNN类解决的问题是手写数据MNIST分类RNN模型结构中还需要调用nn.LSTM模型,2 具体代码# recurrent neural networkimport torch import torch.nn as nnimport torchvision import torchvision.transforms as transforms # Device configurationdevice原创 2021-04-16 10:29:05 · 432 阅读 · 0 评论 -
【PyTorch】基础知识
PyTorch的基础知识,内容包括:构建tensor,从numpy array转化成tensor构建计算图,计算梯度,自动微分构建误差函数,更新权值下载公共测试数据集加载数据,自定义处理数据集保存训练模型,加载模型# PyTorch basic infoimport torchimport torchvision import torch.nn as nn import numpy as np import torchvision.transforms as transforms原创 2021-04-15 15:44:54 · 144 阅读 · 0 评论 -
【PyTorch】逻辑回归/Logistic Regression
1 问题描述用PyTorch来构建逻辑回归模型,使用的是框架自带函数:nn.Linear(),跟上一篇博客中的线性回归是一样的只不过这里的模型输出的类别不止一个,从而来解决多类分类问题。这里使用的数据集是MNIST手写数字,10类判别,用的判别方式是softmax,就是最大概率选择模式。输入模型的数据用一个data loader来装,也就是数据集是分批进入模型,每批次是100个,总共6批600个,然后模型迭代次数epoch是5次learning rate(lr)可以调整模型训练速度,lr大的话训原创 2021-04-15 10:38:54 · 375 阅读 · 0 评论 -
【PyTorch】线性回归/Linear Regression
1. 模型说明用PyTorch实现线性回归比较简单,主要是调用内置函数nn.Linear(input_size, output_size),然后使用自动微分和随机梯度下降SGD来更新模型参数。2. 相关代码具体代码实现如下:import torchimport torch.nn as nnimport numpy as npimport matplotlib.pyplot as plt # plot tool# Hyper -parametersinput_size = 1outpu原创 2021-04-14 19:36:43 · 729 阅读 · 0 评论 -
【PyTorch】前馈神经网络实现/feedforward_neural_network
PyTorch的特点是动态计算图,构建好网络模型,可以实现自动微分,反向传播和参数更新代码如下: # Backward and optimize optimizer.zero_grad() # clear the grad loss.backward() # loss backward and update grad optimizer.step() # updata all parameters构建前馈神经网络实现手写数字MNIST分类,具体代码如下:import torch i.原创 2021-04-13 17:18:53 · 1590 阅读 · 0 评论