PyTorch
程旭员
人生苦短,我用Python
GitHub:https://github.com/MrLuoj
展开
-
Pytorch专题实战——前馈神经网络(Feed-Forward Neural Network)
文章目录1.导入必要模块2.超参数设置3.数据准备4.打印部分加载的数据5.模型建立6.训练1.导入必要模块import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport matplotlib.pyplot as plt2.超参数设置devic...转载 2020-05-01 09:22:31 · 2723 阅读 · 0 评论 -
Pytorch专题实战——激活函数(Activation Functions)
文章目录1.激活函数的两种用法1.1.softmax激活函数1.2.sigmoid激活函数1.3.tanh激活函数1.4.relu激活函数1.5.leaky_relu激活函数2.用激活函数的不同方法构造函数2.1.nn.ReLU()法2.2.torch.relu()法3.可视化不同激活函数3.1.sigmoid3.2.tanh3.3.relu3.4.leaky_relu3.5.阶梯函数1.激活函...原创 2020-05-01 09:21:40 · 2842 阅读 · 1 评论 -
Pytorch专题实战——交叉熵损失函数(CrossEntropyLoss )
文章目录1.用CrossEntropyLoss预测单个目标2.用CrossEntropyLoss预测多个目标3.二分类使用BCELoss损失函数4.多分类使用CrossEntropyLoss损失函数1.用CrossEntropyLoss预测单个目标loss = nn.CrossEntropyLoss() #实例化交叉熵损失函数Y = torch.tensor([0]) #预...原创 2020-04-30 20:18:31 · 2716 阅读 · 1 评论 -
Pytorch专题实战——数据转换(Dataset Transforms)
文章目录1.导入必要模块2.定义数据处理类3.定义numpy转化为tensor类4.定义乘法转化类5.打印结果5.1.未转化前5.2.tensor转化5.3.乘法转化1.导入必要模块import torchfrom torch.utils.data import Datasetimport numpy as npimport torchvision2.定义数据处理类class Wi...原创 2020-04-29 11:49:45 · 3459 阅读 · 1 评论 -
Pytorch专题实战——批训练数据(DataLoader)
文章目录1.计算流程2.Pytorch构造批处理数据2.1.导入必要模块2.2.定义数据类2.3.定义DataLoader2.4.打印效果1.计算流程# Implement a custom Dataset:# inherit Dataset# implement __init__ , __getitem__ , and __len__2.Pytorch构造批处理数据2.1.导入必要...原创 2020-04-28 11:00:22 · 658 阅读 · 2 评论 -
Pytorch专题实战——逻辑回归(Logistic Regression)
文章目录1.计算流程2.Pytorch搭建线性逻辑模型2.1.导入必要模块2.2.数据准备2.3.构建模型2.4.训练+计算准确率1.计算流程 1)设计模型: Design model (input, output, forward pass with different layers) 2) 构建损失函数与优化器:Construct loss and optimizer 3) 循环...原创 2020-04-26 21:07:20 · 614 阅读 · 1 评论 -
Pytorch专题实战——线性回归(Linear Regression)
文章目录1.计算流程2.Pytorch搭建线性回归模型2.1.导入必要模块2.2.构造训练数据2.3.测试数据及输入输出神经元个数2.4.搭建模型并实例化2.5.训练1.计算流程 1)设计模型: Design model (input, output, forward pass with different layers) 2) 构建损失函数与优化器:Construct loss an...原创 2020-04-26 21:06:18 · 576 阅读 · 1 评论 -
Pytorch专题实战——反向传播(Backpropagation)
文章目录1.前言2.Coding1.前言大体分为三步:(1)前向传播,计算loss(2)计算局部梯度(3)反向传播,用链式求导法则计算梯度2.Codingimport torchx = torch.tensor(1.0) #指定输入xy = torch.tensor(2.0) #指定输出yw = torch.tensor(1.0, requires_grad=True...原创 2020-04-25 10:23:08 · 2123 阅读 · 1 评论 -
Pytorch——批标准化(层归一化)
文章目录1.前言2.普通数据归一化3.层归一化4.Batch Normalization 添加位置5.Batch Normalization 效果6.BN 算法1.前言今天我们会来聊聊批标准化 Batch Normalization2.普通数据归一化Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法. ...原创 2020-03-15 11:37:12 · 5095 阅读 · 1 评论 -
Pytorch——Dropout
文章目录1.前言1.前言过拟合让人头疼, 明明训练时误差已经降得足够低, 可是测试的时候误差突然飙升. 这很有可能就是出现了过拟合现象.下面将用可视化的形式来对比使用Dropout和不使用Dropout的情况。...原创 2020-03-15 10:06:24 · 3031 阅读 · 2 评论 -
Pytorch——过拟合
文章目录1.前言2.过拟合的形象描述3.回归问题的过拟合4.分类问题的过拟合5.如何处理过拟合5.1.增加数据量5.2.正则化5.3.Dropout1.前言今天我们会来聊聊机器学习中的过拟合 overfitting 现象, 和解决过拟合的方法.2.过拟合的形象描述在细说之前, 我们先用实际生活中的一个例子来比喻一下过拟合现象. 说白了, 就是机器学习模型过于自信. 已经到了自负的阶段了. ...原创 2020-03-14 20:47:33 · 1528 阅读 · 3 评论 -
Pytorch——神经网络训练方法的演进
文章目录1.前言2.SGD(随机梯度下降)3.Momentum(动量)4.AdaGrad5.RMSProp6.Adam1.前言今天我们会来聊聊在怎么样加速你的神经网络训练过程.常见的有以下几种:1、Stochastic Gradient Descent (SGD)2、Momentum3、AdaGrad4、RMSProp5、Adam越复杂的神经网络 , 越多的数据 , 我们需要在训...原创 2020-03-13 20:19:31 · 522 阅读 · 2 评论 -
Pytorch——可视化不同的优化器效果
文章目录1.前言2.制造人工数据3.做DataLoader迭代器4.搭建神经网络模型5.将神经网络模型放入优化器中6.并对比不同优化器1.前言今天主要运用Pytorch实现不同优化器的效果,以可视化的图像形式展现。2.制造人工数据为了对比各种优化器的效果, 我们需要有一些数据, 今天我们还是自己编一些伪数据, 这批数据是这样的:import torchfrom torch.utils....原创 2020-03-13 18:52:48 · 1051 阅读 · 1 评论 -
Pytorch——DataLoader(批训练)
文章目录1.前言2.DataLoader1.前言Pytorch 中提供了一种帮你整理你的数据结构的好东西, 叫做 DataLoader, 我们能用它来包装自己的数据, 进行批训练。2.DataLoaderDataLoader 是 torch 给你用来包装你的数据的工具. 所以你要将自己的 (numpy array 或其他) 数据形式装换成 Tensor, 然后再放进这个包装器中. 使用 D...原创 2020-03-13 10:06:37 · 857 阅读 · 2 评论 -
Pytorch——保存训练好的模型参数
文章目录1.前言2.torch.save(保存模型)3.torch.load整个网络4.torch.load网络参数(只提取参数)1.前言训练好了一个模型, 我们当然想要保存它, 留到下次要用的时候直接提取直接用,下面我将来讲如何存储训练好的模型参数2.torch.save(保存模型)首先,先搭建一个神经网络from torch import nndef make_model_and...原创 2020-03-12 15:20:00 · 12892 阅读 · 4 评论 -
Pytorch——用nn.Sequential搭建简单的神经网络
文章目录1.前言2.常规方法3.用nn.Sequential搭建4.不同方法对比1.前言Torch 中提供了很多方便的途径, 同样是神经网络, 能快则快, 我们看看如何用更简单的方式搭建同样的神经网络2.常规方法class NetWork(nn.Module): def __init__(self,n_input,n_hidden,n_output): super(...原创 2020-03-12 10:20:39 · 2695 阅读 · 1 评论 -
Pytorch——分类问题
文章目录1.前言2.数据准备3.搭建神经网络4.训练搭建的神经网络5.可视化操作1.前言这次我们也是用最简单的途径来看看神经网络是怎么进行事物的分类.2.数据准备import torchimport matplotlib.pyplot as pltn_data = torch.ones(200,2)x0 = torch.normal(2*n_data, 1)y0 = torch...原创 2020-03-11 16:50:07 · 446 阅读 · 0 评论 -
Pytorch——回归问题
文章目录1.前言2.数据准备3.搭建神经网络4.训练搭建的神经网络5.可视化操作1.前言我会这次会来见证神经网络是如何通过简单的形式将一群数据用一条线条来表示. 或者说, 是如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条.2.数据准备我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数: y = a * x^2 + b, 我们给 y 数据加上一点噪...原创 2020-03-10 20:34:04 · 1236 阅读 · 4 评论 -
Pytorch——激活函数(Activation Function)
文章目录1.非线性方程2.激活函数3.常用选择4.代码1.非线性方程我们为什么要使用激励函数? 用简单的语句来概括. 就是因为, 现实并没有我们想象的那么美好, 它是残酷多变的. 哈哈, 开个玩笑, 不过激励函数也就是为了解决我们日常生活中 不能用线性方程所概括的问题. 好了,我知道你的问题来了. 什么是线性方程 (linear function)?说到线性方程, 我们不得不提到另外一种方程...原创 2020-03-10 10:33:46 · 3625 阅读 · 2 评论 -
Pytorch——Variable是什么?
文章目录1.初识Variable2. 计算Variable的梯度3.获取 Variable 里面的数据1.初识Variable在 Torch 中的 Variable 就是一个存放会变化的值的地理位置. 里面的值会不停的变化. 就像一个裝鸡蛋的篮子, 鸡蛋数会不停变动. 那谁是里面的鸡蛋呢, 自然就是 Torch 的 Tensor . 如果用一个 Variable 进行计算, 那返回的也是一个同...原创 2020-03-09 21:32:55 · 434 阅读 · 0 评论 -
Pytorch——把Numpy转化为Torch
文章目录1.Torch的地位2.Numpy转Torch3.Torch 中的数学运算1.Torch的地位Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 CPU 中加速运算. 所以对于神经网络, 当然用 Torch 的 tensor 数据形式. 就像 Te...原创 2020-03-09 20:56:22 · 5913 阅读 · 1 评论