- 博客(308)
- 资源 (15)
- 收藏
- 关注
原创 数据结构-链表
一、定义1.定义链表中每个节点有两部分组成,一是节点的value值,二是下一个节点在内存的地址。要注意的几个地方:1.链表默认指向的是头节点,我们用while pHead:循环的时候需要用 pHead = pHead.next,否则一直在头节点循环二、题目题目1、链表反转1.整体思路需要定义个外部新链表存储新生成的链表,while里面有四步操作:首先外部定义个pre = None来承接新的链表1.定义tmp = pHead.next,将当前节点之后的节点先存起来2.将当前
2022-04-15 18:43:38 846
原创 huggingface的pytorch使用
一、 如何使用 使用transformers前需保证当前环境下pytorch版本>=1.1.0;以下代码均在pytorch== 1.2.0,transformers==4.1.1环境下运行成功。项目组件pytorch版本bert预训练模型文件主要由三部分组成,建议可以官方模型库手动先下载到本地方便调用:配置文件 —— config.json模型文件 —— *.bin词表文件 —— vocab.txt三个文件分别由 BertConfig、BertModel、BertTokenizer调
2021-10-30 22:53:23 1359
原创 面试问题
一、相关算法问题1.bert 三个输入是否可拼接答案:可以2.模型压缩的方法3.bert和transformer的区别4.梯度更新公式5.工作抽样的方法6.优化器有哪些二、数据结构1.最长回文子串2.判断代码是否合法3.两个字符串公共子串...
2020-10-22 21:31:53 123
原创 八大排序
一、分类1.交换排序:冒泡排序,快速排序2.插入排序:直接插入排序,希尔排序3.选择排序:简单选择排序,堆排序4. 归并排序5.基数排序二、python实现1.冒泡排序def bubbleSort(arr): n = len(arr) # 遍历所有数组元素 for i in range(n): # Last i elements are already in place for j in range(0, n-i-1):
2020-09-28 20:08:14 116
原创 2020-09-23
1、第一种方式主要是利用同义替换的思想。 文中介绍了几个相关的方法,主要还是在于字、词、和句子结构层面上做数据增强。除了传统的字典、词向量相似度替换的方法,我觉得用mlm的方式去做数据增强这个点更加新颖和符合intuition。样本生成模型预测通过上述两个图,能很容易理解,就是预测mask位置的token,本身模型输出的是概率值,所以可以进行一个有效排序,而生成top k个近似的结果。2、第二种就是通过“回译”的方法,这在阅读理解领域的榜单中一度有人使用过,比如说《attention is al
2020-09-23 19:46:21 117
原创 transformer-xl原理
一、背景语言模型的建模依赖对长期依赖的建模。而在序列数据中将长期依赖引入神经网络又是一项有挑战的工作。RNN 特别是 LSTM 之前是标准化的的解决方案。但 RNN 由于有梯度消失和梯度爆炸的问题,其优化非常困难。而在 LSTM 中仅仅引入门机制和梯度裁剪可能并不足以解决这个问题。从经验来看,LSTM 大概可以使用200个单词的上下文信息。Attention相对于CNN和RNN,有以下优点:1.每个元素可以像CNN一样和全局的信息进行交互,忽略距离。2.突破了 RNN 模型不能并行计算的限制。3.
2020-09-19 23:45:20 247
原创 XLNet算法详解
一、背景自从Bert打开两阶段模式的魔法盒开关后,在这条路上,会有越来越多的同行者,Bert系列的算法层出不穷,比较注明的有RoBerta,ALBert。Bert系列的算法都属于AutoEncode LM。与之相对应的还要AutoRegressive LM。1.自回归语言模型(Autoregressive LM)定义在ELMO/BERT出来之前,大家通常讲的语言模型其实是根据上文内容预测下一个可能跟随的单词,就是常说的自左向右的语言模型任务,或者反过来也行,就是根据下文预测前面的单词,这种类型的
2020-08-21 11:56:05 449
原创 roberta算法详解
一、背景bert系列的算法论文越来越多,比较出名和有效果的有,Roberta、ALbert。另一个系列的是XLnet。全名:RoBERTa:A Robustly Optimized BERT Pretraining Approach官方源码:https://github.com/pytorch/fairseq中文预训练模型1:https://github.com/brightmart/roberta_zh此模型为某个公司训练中文预训练模型2:https://github.com/ymcui/Ch
2020-08-20 15:28:25 2523 1
原创 tf.estimator的使用笔记
estimator使用流程共有四部第一步、定义input_fn函数定义input_fn函数,构建数据集,包括数据预处理、数据增广第二步、定义model_fn函数构建模型。计算学习率、构建优化器、创建train_op操作。定义性能指标(性能指标在命令行或summary操作中都会用到)第三部、实例化tf.estimator.Estimator定义训练过程中相关操作,包括什么时候进行summary/save/logging操作,summary/save操作的保存路径。设置tf.Session
2020-08-10 15:39:00 251
原创 transformer算法详解
一、背景NLP作为AI的子领域,一直以来被认为比较难的学科。特征抽取一直以来都作为NLP的核心任务。概况来说在深度学习为基础的体系中,特征抽取经历了以下几个阶段:DNN->CNN->RNN->Transformer。自从2017年6月份《Attention is all you need》论文作为机器翻译算法提出后,transform已经逐步替代了以CNN和RNN为首的特征抽取,特别是2018年bert一战成名后,目前所有的主流方法几乎都是transformer系的变体。二、架构
2020-08-07 12:01:07 8646
原创 Tensorflow 命令行参数定义tf.flags和tf.app.flags
一、版本[tensorflow1.10 到 tensorflow1.13] 中都有tf.flags和tf.app.flags[tensorflow1.14 到 tensorflow1.15] 以及 tensorflow2.0不在有了二、作用Tensorflow 采用tf.app.flags 来进行命令行参数传递.如 - flags_test.pyimport tensorflow as tf flags = tf.app.flagsFLAGS = flags.FLAGS# Setti
2020-07-31 14:56:05 786 1
原创 用户画像理解
一、用户画像几大模块结合业务设定指标体系,从常用的用户属性、行为、消费、风险控制这4个维度设定指标体系。用户画像的存储:标签相关数据的存储,包括Hive存储、MySQL存储、HBase存储和Elasticsearch存储。不同的存储方式适用于不同的场景和业务需要。标签数据及相关脚本的开发是用户画像构建工作的重点:常见的统计类、规则类、挖掘类、流式计算类标签以及用户特征库等与用户相关的数据的开发,还进一步介绍了如何计算人群数据、打通数据到服务层通路的开发。通过GraphX图计算用户2度关系熟
2020-07-02 16:48:13 553
原创 centos7 安装cuda和cudnn
https://www.dazhuanlan.com/2019/09/27/5d8e20af422d2/
2020-06-29 14:13:05 881
原创 centos7 An NVIDIA kernel module nvidia-uvm appears to alreain
centos An NVIDIA kernel module ‘nvidia-uvm’ appears to already be loaded in your kernel.解决办法:注意:在安装显卡驱动的时候如果报错ERROR: An NVIDIA kernel module ‘nvidia-uvm’ appears to already be loaded in your kernel. This may be because it is in use (for example, by th
2020-06-29 13:27:45 3873
原创 bert面试
总结一下bert面试相关问题1.bert基本原理是什么作者:Adherer要加油呀~链接:https://www.nowcoder.com/discuss/351902来源:牛客网BERT是“Bidirectional Encoder Representations from Transformers”的首字母缩写,整体是一个自编码语言模型(Autoencoder LM),并且其设计了两个任务来预训练该模型。第一个任务是采用MaskLM的方式来训练语言模型,通俗地说就是在输入一句话的时候,随机地选
2020-06-28 13:47:53 288
原创 bert 源码解读
一、目录结构||—create_pretraining_data.py||—run_pretraining.py 预训练文件||—modeling.py 模型文件||—extract_features.py||—optimization.py||—run_classifiter.py||—run_squad.py||—tokenization.py
2020-06-19 18:41:28 246
原创 transformer翻译
https://www.yiyibooks.cn/yiyibooks/Attention_Is_All_You_Need/index.html
2020-06-01 18:09:13 210
原创 GPT论文梳理
简单来说,GPT的底层架构是transformer,是由pre-training和fine-tuning两部分构成的。之前有人(好像是张俊林大佬)就说过,如果GPT做成双向的,那就没Bert什么事了(不过Bert的Masked LM和Next Sentence Prediction的思想也是功不可没哒)。之所以这么说,是因为Bert底层架构也是transformer,也是由pre-training和fine-tuning两部分构成的,只不过在transformer那采用的是双向而已...
2020-05-27 18:03:46 859 1
原创 NLP发展历程-bert详解
ERT优点Transformer Encoder因为有Self-attention机制,因此BERT自带双向功能因为双向功能以及多层Self-attention机制的影响,使得BERT必须使用Cloze版的语言模型Masked-LM来完成token级别的预训练为了获取比词更高级别的句子级别的语义表征,BERT加入了Next Sentence Prediction来和Masked-...
2020-04-26 17:58:44 3279 1
原创 2020最优秀的NLP模型
一直在关注nlp的语言模型,一般看目前最新效果最好的NLP模型,可以看榜单:https://gluebenchmark.com/leaderboard但是这里面有个问题就是,有的模型并没有放出来,或者放出来了,并没有中文预训练模型,导致无法应用到实际的项目中,目前总结一下最新可用的中文语言模型。一、ERNIE2.0目前最好的中文模型算是百度的艾尼2.0,可用在github上找到官网,但是有个...
2020-04-21 14:11:06 2238
原创 pycharm 用虚拟环境
一、创建项目时候选择虚拟环境二、存在项目时候替换虚拟环境1.选择项目解析器PyCharm>preferences>Project: >Project interpreter>然后选择可以用的项目解析器(虚拟环境)如果选择的没有,需要自己创建虚拟环境,右边可以add2.添加项目解析器add这个时候有多种虚拟环境可以选择,其实是多个项目依赖包管理工具。con...
2020-03-25 18:56:28 227
原创 git 操作指南
一、git拉代码git 拉取代码通过两种方式git clone https://github.com/project/repo.gitgit clone git@github.com:project/repo.git区别就是所用的协议不同:https用443端口,可以对repo根据权限进行读写,只要有账号密码就可进行操作。ssh则用的是22端口,也可以对repo根据权限进行读写,但...
2020-03-23 13:25:06 98
原创 Python编程:使用sys、argparse、click、fire实现命令行参数解析
python实现脚本命令行的库有:内置库sys内置库argparse第三方库click第三方库fire内置库sys一、syssys.argv 包含命令行参数列表,第一个参数是文件名sys_demo.pyimport sysdef add(a, b): return a + bif __name__ == '__main__': ret = add(sys...
2020-03-17 11:59:35 214
原创 conda默认安装位置
/var/root/miniconda3/condabin/conda[yes] >>> no change /var/root/miniconda3/condabin/condano change /var/root/miniconda3/bin/condano change /var/root/miniconda3/bin/conda-envn...
2020-03-04 17:44:01 9238
原创 随机森林算法详解
机器学习算法–集成方法一、背景集成方法通常分为两种:1.平均方法该方法的原理是构建多个独立的估计器,然后取它们的预测结果的平均。一般来说组合之后的估计器是会比单个估计器要好的,因为它的方差减小了。示例: Bagging 方法 , 随机森林2.boosting 方法基估计器是依次构建的,并且每一个基估计器都尝试去减少组合估计器的偏差。这种方法主要目的是为了结合多个弱模型,使集成的模型更...
2020-01-16 18:33:47 1145
原创 linux之/usr/local/bin和/usr/bin区别
一、区别1./usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。2./usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为。echo $PATH/usr/local/bin:/usr/bin:/bin:/us...
2020-01-15 00:33:59 411
原创 linux源码安装总结
一、安装方法1.下载源码一般从官网下载 xx.tar.gz 的文件例如:wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz2.加压源码tar -xzvf gcc-9.1.0.tar.gz3.进入解压目录进入解压缩后目录–>cd gcc-9.1.04.下载依赖运行download_prerequisites脚...
2020-01-15 00:10:10 255
cdlinux配置教程和配置软件下载
2016-02-29
C#贪吃蛇(非常强悍的C#贪吃蛇游戏,你一定不会后悔的)
2011-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人