
深度学习
文章平均质量分 64
Mr_wuliboy
一个茁壮成长的IT新秀
展开
-
Pytorch如何合并多个dataloader
将iter(dataloader)都放到一个list,遍历list。2、可以使用zip+cycle来合并两个dataloader。1、利用iter(dataloader)原创 2022-09-22 17:00:47 · 4476 阅读 · 2 评论 -
pytorch import tensorboard ModuleNotFoundError: No module named ‘tensorboard
自带的,pytorch只提供了使用其的接口,所以需要自行下载。tensorboard不是。原创 2022-09-22 13:12:25 · 678 阅读 · 0 评论 -
torch.cuda.amp
自动混合精度(Automatic Mixed Precision, AMP)训练,是在训练一个数值精度为32的模型时,一部分算子的操作 数值精度为FP16,其余算子的操作精度为FP32。在反向传播时,FP16的梯度数值溢出的问题,amp提供了梯度scaling操作,而且在优化器更新参数前,会自动对梯度 unscaling。但,作为上下文管理器使用时,混合精度计算enable区域得到的FP16数值精度的变量在enable区域外要显式的转换成FP32,否则使用过程中可能会导致类型不匹配的错误。转载 2022-09-19 15:51:26 · 1795 阅读 · 0 评论 -
Torch训练优化
本文介绍在使用 PyTorch 训练深度模型时最省力、最有效的 17 种方法。该文所提方法,都是假设你在 GPU 环境下训练模型。具体内容如下。01考虑换一种学习率 schedule学习率 schedule 的选择对模型的收敛速度和泛化能力有很大的影响。Leslie N. Smith 等人在论文《Cyclical Learning Rates for Training Neural Networks》、《Super-Convergence: Very Fast Training of Neural Netw转载 2022-07-04 15:34:28 · 1156 阅读 · 1 评论 -
linux18.04 Anaconda虚拟环境py3.7安装caffe
先允许我哭一会,安装了五个小时,踩坑无数,安装好后赶紧记录下来!CUDA、Cudnn、dirver、Anaconda自己装,本博客只记录caffe安装过程1、安装依赖包sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends li原创 2022-03-15 15:50:23 · 2927 阅读 · 0 评论 -
Pytorch 分布式训练
PyTorch 可以通过torch.nn.DataParallel直接切分数据并行在单机多卡上,实践证明这个接口并行力度并不尽如人意,主要问题在于数据在 master 上处理然后下发到其他 slaver 上训练,而且由于GIL的存在只有计算是并行的。torch.distributed提供了更好的接口和并行方式,搭配多进程接口torch.multiprocessing可以提供更加高效的并行训练。多进程我们都知道由于 GIL 的存在, python 要想真正的并行必须使用多进程,IO ...转载 2022-01-17 15:19:52 · 1608 阅读 · 0 评论 -
深度学习各种激活函数
在神经网络中,激活函数决定来自给定输入集的节点的输出,其中非线性激活函数允许网络复制复杂的非线性行为。正如绝大多数神经网络借助某种形式的梯度下降进行优化,激活函数需要是可微分(或者至少是几乎完全可微分的)。此外,复杂的激活函数也许产生一些梯度消失或爆炸的问题。因此,神经网络倾向于部署若干个特定的激活函数(identity、sigmoid、ReLU 及其变体)。下面是 26 个激活函数的图示及其一阶导数,图的右侧是一些与神经网络相关的属性。1. Step激活函数 Step 更倾向于理论而不是实转载 2021-10-09 15:23:59 · 726 阅读 · 0 评论 -
keras-BERT ValueError: Unknown layer: TokenEmbedding
问题复现:训练的模型存储方式:model.save_weights(model_path)模型加载方式from keras.models import load_modelmodel = load_model(model_path)异常:ValueError: Unknown layer: TokenEmbedding出现该错误是因为要保存的model中包含了自定义的层(Custom Layer),导致加载模型的时候无法解析该Layer解决该问题的方法是在load_model函..转载 2021-09-09 14:38:50 · 637 阅读 · 0 评论 -
BERT疑惑记录
1、单个句子的任务,我们拿第一个cls向量,上面接一些全连接层,做一个分类,标注的数据 fine-tuningbert参数也包括全连接的一个参数,为什么选择第一个?bert任务还是预测这个词,预测的时候会参考其他的词,如eat本身还是吃的语义,直接根据eat去分类,显然是不可以的,cls没有太多其他词的语义,所以它的语义完全来自其他的语义 来自整个句子,编码了整个句子的语义,用它做可以,当然...原创 2019-11-27 14:50:13 · 432 阅读 · 0 评论 -
cuda runtime error (59)
主要检查两个问题:1、label是否从0开始2、embedding层的input数据是否有负数,除此之外embediing的vocab_size是否正确原创 2019-11-21 16:45:02 · 613 阅读 · 0 评论 -
如何将tensorflow版本的预训练BERT模型转化为pytorch版本的预训练模型
https://huggingface.co/transformers/converting_tensorflow_models.htmlexport BERT_BASE_DIR=/path/to/bert/uncased_L-12_H-768_A-12transformers bert \ $BERT_BASE_DIR/bert_model.ckpt \ $BERT_BA...原创 2019-11-16 15:45:25 · 3080 阅读 · 0 评论 -
mask 机制不同框架下的应用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/zwqjoy/article/details/95050794一 Padding文本数据在处理的时候,由于各样本的长度并不一样,有的句子长有的句子短。抛开动态图、静态图模型的差异,由于需要进行矩阵运算,句长需要是等长的才可以,这就需要...转载 2019-09-26 12:01:38 · 1466 阅读 · 0 评论 -
os.listdir以及keras如何使用GPU的两个坑
这两天遇到两个坑,稍微记录一下:首先是os.listdir这个函数切记,当文件夹内的文件名字为数字的时候,os.listdir()这个函数,并不是按着从小到大的顺序读取文件,而是类似于先读1.txt,10.txt....这样跳着读的,所以处理后的数据跟label对不上!!!第二个是keras使用GPU的一个坑,最近用keras跑ResNet,发现总会报一个错,InvalidArgume...原创 2019-04-12 14:15:29 · 965 阅读 · 1 评论 -
keras实现transformer
#! -*- coding: utf-8 -*-#%%from __future__ import print_functionfrom keras import backend as Kfrom keras.engine.topology import Layer class Position_Embedding(Layer): def __init__(self, s...转载 2019-04-22 20:54:08 · 12861 阅读 · 1 评论 -
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 论文笔记
下游NLP任务分为两类:基于特征(feature-based),例如ELMO,使用特定于任务的体系结构,其中包括作为附加功能的预训练表示。fine-tuning,例如openAI提出的GPT,引入最小的特定于任务的参数,并通过简单地微调预训练参数对下游任务进行训练。之前的工作使用单项的语言模型去学习一般语言表示,这也是最大的限制。GPT中使用的是单项的transform...原创 2019-04-23 16:52:57 · 264 阅读 · 0 评论 -
Linux服务器配置ipython远程访问
本文转自:https://blog.youkuaiyun.com/a819825294/article/details/556574961.背景 一直苦恼于本地机器和服务器上都要配置一些机器学习方面的环境,今天花了点时间研究了下Jupter notebook远程访问服务器,所以记录一下。 有些步骤非必须,这里尽量写清楚,读者理解后自行决定如何安装,本文以非root用户安装。2.安装步...转载 2019-05-05 13:11:52 · 516 阅读 · 0 评论 -
随机种子
torch.manual_seed(args.seed) #为CPU设置种子用于生成随机数,以使得结果是确定的if args.cuda:torch.cuda.manual_seed(args.seed)#为当前GPU设置随机种子;如果使用多个GPU,应该使用torch.cuda.manual_seed_all()为所有的GPU设置种子。...原创 2019-05-13 09:40:00 · 596 阅读 · 0 评论 -
Open-Smile
原创 2019-06-18 21:08:31 · 259 阅读 · 0 评论 -
Masking Layer的作用
在使用keras的时候,有一个Masking层,在数据预处理的时候,我们经常会为了将数据维度控制到同一维度从而使用0 填充,使用0填充后如果使用CNN神经网络其实是没有什么影响的,但是如果使用的是RNN网络的话,填充一堆无意义的0会产生一定的影响,因此这个Masking层就是来屏蔽掉这些0的,一般用于input后面mask = Masking(mask_value = 0)(input_da...原创 2019-07-02 14:51:07 · 2690 阅读 · 0 评论 -
各种activation function(激活函数) 简介
之前在使用activation function的时候只是根据自己的经验来用,例如二分类使用sigmoid或者softmax,多分类使用softmax,Dense一般都是Relu,例如tanh几乎没用过,最近在复线别人代码的时候发现别人Dense层使用的tanh激活函数,所以决定系统的看一下各类激活函数以及其优缺点。激活函数分类线性和非线性,例如Dense层如果不指定激活函数则会默认activ...原创 2019-07-02 15:19:15 · 9000 阅读 · 0 评论 -
使用keras二分类与多分类任务中'binary_crossentropy'与categorical_crossentropy
简单地说,'binary_crossentropy'不能用于多分类任务,如果使用了所得到的Accuary是不对的没有意义,如果多分类任务应该使用categorical_crossentropy原创 2019-06-30 15:15:26 · 9953 阅读 · 6 评论 -
LSTM详解
废话不多说,直接上重点LSTM模型是由时刻的输入词,细胞状态,临时细胞状态,隐层状态,遗忘门,记忆门,输出门组成。LSTM的计算过程可以概括为,通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态,其中遗忘,记忆与输出由通过上个时刻的隐层状态和当前输入计算出来的遗忘门,记忆门,输出门来控制。总体框架如图1所示。...原创 2019-09-20 17:47:42 · 2513 阅读 · 0 评论 -
transformer解读与pytorch实现
https://juejin.im/post/5b9f1af0e51d450e425eb32dimport torchimport torch.nn as nnclass Transformer(nn.Module): def __init__(self, src_vocab_size, src_max_le...转载 2019-04-22 09:15:43 · 1185 阅读 · 0 评论