pytorch
烟雨风渡
研究生
展开
-
PyTorch中使用LSTM处理变长序列
使用LSTM算法处理的序列经常是变长的,这里介绍一下PyTorch框架下使用LSTM模型处理变长序列的方法。需要使用到PyTorch中torch.nn.utils包中的pack_padd原创 2021-06-07 21:40:20 · 8505 阅读 · 2 评论 -
Co Attention注意力机制实现
“Hierarchical Question-Image Co-Attention for Visual Question Answering”中的图像和文本间的Co Attention协同注意力实现参考:https://github.com/SkyOL5/VQA-CoAttention/blob/master/coatt/coattention_net.pyhttps://github.com/Zhangtd/Models-reproducing/blob/master/NIPS2016/se原创 2021-05-26 15:12:52 · 22201 阅读 · 5 评论 -
MLP Attention实现
MLP Attention注意力机制的实现公式为:参考https://github.com/pytorch/translate/blob/master/pytorch_translate/attention/mlp_attention.pyhttps://www.aclweb.org/anthology/N16-1174.pdf基于PyTorch框架实现加性注意力机制from typing import Dict, Optionalimport numpy as npimpo原创 2021-05-26 12:39:30 · 5160 阅读 · 2 评论 -
PyTorch检查模型梯度是否可导
当我们构建复杂网络模型或在模型中加入复杂操作时,可能会需要验证该模型或操作是否可导,即模型是否能够优化,在PyTorch框架下,我们可以使用torch.autograd.gradcheck函数来实现这一功能。首先看一下官方文档中关于该函数的介绍:可以看到官方文档中介绍了该函数基于何种方法,以及其参数列表,下面给出几个例子介绍其使用方法,注意:Tensor需要是双精度浮点型且设置requires_grad = True第一个例子:检查某一操作是否可导from torch.autog原创 2021-01-21 09:45:30 · 3184 阅读 · 2 评论 -
Ray Tune模型调参:以一个简单的二分类模型为例
以Titanic乘客生存预测任务为例,进一步熟悉Ray Tune调参工具。titanic数据集的目标是根据乘客信息预测他们在Titanic号撞击冰山沉没后能否生存。本示例的基础代码参考了下面两篇文章: 1-1,结构化数据建模流程范例(一个不错的PyTorch教程) How to use Tune with PyTorch 也可以看一下上一篇文章:PyTorch + Ray Tune 调参教程中的原始代码如下:import numpy as npimport panda原创 2021-01-07 11:12:30 · 1731 阅读 · 7 评论 -
PyTorch + Ray Tune 调参
参考了PyTorch官方文档和Ray Tune官方文档1、HYPERPARAMETER TUNING WITH RAY TUNE2、How to use Tune with PyTorch以PyTorch中的CIFAR 10图片分类为例,示范如何将Ray Tune融入PyTorch模型训练过程中。其中,要求我们对原PyTorch程序做一些小的修改,包括:将数据加载和训练过程封装到函数中; 使一些网络参数可配置; 增加检查点(可选); 定义用于模型调参的搜索空间。下面以示例代码解析原创 2021-01-01 15:43:27 · 5907 阅读 · 10 评论 -
深度学习模型需要调哪些参数
深度学习模型训练时需要调哪些参数?1、参数初始化策略 代码示例:# Common practise for initialization.for layer in model.modules(): if isinstance(layer, torch.nn.Conv2d): torch.nn.init.kaiming_normal_(layer.weight, mode='fan_out', ..原创 2020-12-19 09:21:40 · 9883 阅读 · 2 评论 -
PyTorch可视化模型结构
1、torchviz代码:import torchimport numpy as npimport torch.nn as nnimport torch.nn.functional as Fimport torchvizclass Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(in_channels=3, out_c原创 2020-12-18 09:07:56 · 1663 阅读 · 0 评论 -
Pytorch保存和加载模型的两种方式
与Tensorflow、Keras等框架一样,Pytorch也提供了两种保存模型的方式,这两种方式都是通过调用pickle序列化方法实现的:只保存模型参数 保存完整模型下面我们依次对这两种方式进行实现,以以下多层感知机模型为例:def create_net(): net = nn.Sequential() net.add_module('linear1', nn.Linear(15, 20)) net.add_module('relu1', nn.ReLU())原创 2020-08-20 19:58:38 · 8914 阅读 · 0 评论 -
torch.ones_like函数和torch.zero_like函数
torch.ones_like函数和torch.zero_like函数的基本功能是根据给定张量,生成与其形状相同的全1张量或全0张量,示例如下:input = torch.rand(2, 3)print(input)# 生成与input形状相同、元素全为1的张量a = torch.ones_like(input)print(a)# 生成与input形状相同、元素全为0的张量b = torch.zeros_like(input)print(b)效果如下:tensor([[0.08原创 2020-08-20 19:27:54 · 31948 阅读 · 6 评论 -
Pytorch中的torch.where函数
首先我们看一下Pytorch中torch.where函数是怎样定义的:@overloaddef where(condition: Tensor) -> Union[Tuple[Tensor, ...], List[Tensor]]: ...torch.where函数的功能如下:torch.where(condition, x, y):condition:判断条件x:若满足条件,则取x中元素y:若不满足条件,则取y中元素以具体实例看一下torch.where函数的效果:原创 2020-08-20 19:18:06 · 14622 阅读 · 3 评论 -
使用torchkeras打印Pytorch模型结构和基本参数信息
在使用Pytorch构建神经网络模型后,我们需要看一下自己写的模型的网络结构,此时可以使用torchkeras模块中的summary函数实现该功能。以多层感知机为例,首先我们构建网络结构并打印该模型的初步信息,代码如下:import torchfrom torch import nnfrom torchkeras import summarydef create_net(): net = nn.Sequential() net.add_module('linear1', nn原创 2020-08-20 18:23:04 · 5175 阅读 · 0 评论 -
pytorch实现加性注意力机制
加性注意力机制计算注意力得分的公式为计算注意力分布的公式为现用pytorch框架实现加性注意力公式参考attention-networks-for-classification用于文本分类的多层注意力模型(Hierachical Attention Nerworks)用仿真数据跑出来的实验效果截图如下:...原创 2019-11-13 16:44:33 · 5738 阅读 · 4 评论 -
pytorch版CLSTM
# -*-coding:utf-8-*-"""@author:taoshouzheng@time:2019/8/8 15:19@email:tsz1216@sina.com"""import torchimport torch.nn as nnfrom torch.nn import Parameterfrom torch.nn import initfrom torch ...原创 2019-11-09 10:28:36 · 1404 阅读 · 0 评论 -
使用LSTM模型进行多分类并查看综合分类效果
#!/usr/bin/env python# encoding: utf-8'''@author: taoshouzheng@contact: tsz1216@sina.com@file: 1 lstm + linear.py@time: 2019/11/7 9:15'''import torchimport torch.nn as nnfrom torch.nn impo...原创 2019-11-07 16:35:15 · 4024 阅读 · 0 评论 -
item2vec代码
#-*-coding:utf-8-*-"""@author:taoshouzheng@time:2019/8/20 10:46@email:tsz1216@sina.com"""import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.optim as optimimpo...原创 2019-08-22 09:07:56 · 2539 阅读 · 9 评论