`
wx1568037608
  • 浏览: 33436 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表
前言 对Google开源出来的bert代码,来阅读下。不纠结于代码组织形式,而只是梳理下其训练集的生成,训练的self-attention和multi-head的具体实现。 训练集的生成 主要实现在create_pretraining_data.py和tokenization.py两个脚本里。输入文本格式举例,下面是两篇文章外加一篇空文章。两篇文章之间用空格作间隔。 This is a blog about bert code reading.It is writed using markdown, which is a markup language that can be writ ...
https://www.jianshu.com/p/22e462f01d8c pre-train是迁移学习的基础,虽然Google已经发布了各种预训练好的模型,而且因为资源消耗巨大,自己再预训练也不现实(在Google Cloud TPU v2 上训练BERT-Base要花费近500刀,耗时达到两周。在GPU上可想而知只会更贵),但是学习bert的预训练方法可以为我们弄懂整个bert的运行流程提供莫大的帮助。预训练涉及到的模块有点多,所以这也将会是一篇长文,在能简略的地方我尽量简略,还是那句话,我的文章只能是起到一个导读的作用,如果想摸清里面的各种细节还是要自己把源码过一遍的。 p ...
https://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Chinese (Simplified), Korean Watch: MIT’s Deep Learning State of the Art lecture referencing this post ...
https://zhuanlan.zhihu.com/c_153732961
https://zhuanlan.zhihu.com/p/50773178 概述 本文基于 pytorch-pretrained-BERT(huggingface)版本的复现,探究如下几个问题: pytorch-pretrained-BERT的基本框架和使用 如何利用BERT将句子转为词向量 如何使用BERT训练模型(针对SQuAD数据集的问答模型,篇幅问题,可能下篇再写) 因为已经有很多文章对BERT的结构和效果做了详尽的介绍,所以对于模型的效果和结构就不在这里赘述了。 基本框架和使用 环境 首先,利用pip安装包: 1 pip install pytorch-pretr ...
深度炼丹如同炖排骨一般,需要先大火全局加热,紧接着中火炖出营养,最后转小火收汁。本文给出炼丹中的 “火候控制器”-- 学习率的几种调节方法,框架基于 pytorch 1. 自定义根据 epoch 改变学习率。 这种方法在开源代码 ...
 学习工具最快的方法就是在使用的过程中学习,也就是在工作中(解决实际问题中)学习。文章结尾处附完整代码。 一、数据准备  在Pytorch中提供了MNIST的数据,因此我们只需要使用Pytorch提供的数据即可。 from torchvision ...
https://zhuanlan.zhihu.com/p/32626442 骆梁宸 paper插画师;poster设计师;oral slides制作人 445 人赞同了该文章 楔子 前些日在写计算数学课的期末读书报告,我选择的主题是「分析深度学习中的各个优化算法」。在此前的 ...
以从某文件夹过滤出py文件为例: 法1: import glob import os os.chdir(“./”) for file in glob.glob(“*.py”): print file 法2: for file in os.listdir(“./”): if file.endswith(“.py”): print file 法3: for root, dirs, files in os.walk(“./”): for file in files: if file.endswith(“.py”): ...
**序言:**Adam自2014年出现之后,一直是受人追捧的参数训练神器,但最近越来越多的文章指出:Adam存在很多问题,效果甚至没有简单的SGD + Momentum好。因此,出现了很多改进的版本,比如AdamW,以及最近的ICLR-2018年最佳论文提出的Adam改进版Amsgrad。那么,Adam究竟是否有效?改进版AdamW、Amsgrad与Adam之间存在什么联系与区别?改进版是否真的比Adam更好呢?相信这篇文章将会给你一个清晰的答案。 (内容翻译整理自网络) Adam Roller-Coaster Adamoptimizer的发展历程就像坐过山车一样。Adam最先于201 ...
白化(预处理步骤)【转】   介绍 我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入具有如下性质:(i)特征之间相关性较低;(ii)所有特征具有相同的方差。 2D的例子 下面我们先用前文的2D例子描述白化的主要思想,然后分别介绍如何将白化与平滑和PCA相结合。 如何消除特征之间的相关性?在前文计算时实际上已经消除了输入特征之间的相关性。得到的新 ...
pip install chardet   执行 import chardet f = open('a.doc',r) data = f.read() print chardet.detect(data)   结果 {'confidence': 0.64465744, 'encoding': 'utf-8'} 前面是相似度  后面是编码格式   或者 return chardet.detect(data).get("encoding") 直接获取文件编码格式
一、简化前馈网络LeNet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import torch as t    
torch.optim 如何使用optimizer 构建 为每个参数单独设置选项 进行单次优化 optimizer.step() optimizer.step(closure) 算法 如何调整学习率 torch.optim是实现各种优化算法的包。最常用的方法都已经支持,接口很常规,所以以后也可以很 ...
这篇博客是在pytorch中基于apex使用混合精度加速的一个偏工程的描述,原理层面的解释并不是这篇博客的目的,不过在参考部分提供了非常有价值的资料,可以进一步研究。 一个关键原则:“仅仅在权重更新的时候使用fp32,耗时的前向和后向运算都使用fp16”。其中的一个技巧是:在反向计算开始前,将dloss乘上一个scale,人为变大;权重更新前,除去scale,恢复正常值。目的是为了减小激活gradient下溢出的风险。 apex是nvidia的一个pytorch扩展,用于支持混合精度训练和分布式训练。在之前的博客中,神经网络的Low-Memory技术梳理了一些low-memory技术, ...
Global site tag (gtag.js) - Google Analytics