Albert详解
Bert超参数的分布红色部分是embedding层,蓝色部分是encoder,注意蓝色部分总共有12个。
这两部分的参数分别是,其中每个encoder参数是0.85亿/12=700万
讲了BERT的参数分布,再说一下ALBERT对BERT的参数减少是从哪个方向。
一,12个encoder换成一个encoder,但是这个encoder会encode12次,这样encoder参数直接从84M变成7M,少了77M参数。
二,从embedding层参数最大的word embedding下手,原来word embedding的参数是
$$word_{num}*embedding_{dim}$$
记为$VH$,这里用$H$因为encoder要保持向量为$H$的大小,下面进行参数减少改造,仅需通过一个低维空间$E$作为中转,由$VH$变为$VE+EH$
比如语料库单词数为3W,$embedding_dim=768$,没改造的参数量为$30000*768=23M$
改造后假设$E$为128,$30000128 + 128768 =4M$,少了19M参数 ...
crontab教程
大名鼎鼎的crontab就不用介绍了,直接上干货
Crontab 命令
crontab -e: 编辑 crontab 文件, 如果文件不存在则新建
crontab -l: 列出crontab文件的内容
crontab -r: 删除crontab文件
Crontab 案例每一分钟执行一次 /bin/ls:
1* * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup:
10 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name:
10 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天 ...
Markdown教程
首行缩进一个汉字占两个空格大小,所以使用四个空格就可以达到首行缩进两个汉字的效果。有如下几种方法:1.一个空格大小的表示: 或 ,此时只要在相应需要缩进的段落前加上 4个 如上的标记即可,注意要带上分号。2.两个空格的大小表示: 或 ,同理,使用2个即可缩进2个汉字,推荐使用该方式。3.不换行空格: 或 ,使用4个 即可。
公式1$$y_t = \tau_t + \zeta_t$$
$$y_t = \tau_t + \zeta_t$$
1$$\min_{\\{ \tau_{t}\\} }\sum_{t}^{T}\zeta_{t}^{2}+\lambda\sum_{t=1}^{T}\left[\left(\tau_{t}-\tau_{t-1& ...
文本相似度
Jaccard相似度Jaccard相似度的定义很简单,两个句子词汇的交集size除以两个句子词汇的并集size。举个例子来说:
句子1: AI is our friend and it has been friendly.
句子2: AI and humans have always been friendly.
为了计算Jaccard相似度,我们首先使用英文nlp中常用的技术lemmatization,用词根替换那些具有相同词根的词汇。在上面的例子中,friend和friendly具有相同的词根,have和has具有相同的词根。我们可以画出两个句子词汇的交集与并集情况,如图所示:
对于上面两个句子,其Jaccard相似度为$$5/(5+3+2)=0.5$$,即两个句子词汇的交集5个词汇,并集10个词汇
12345def jaccard_sim(str1, str2): a = set(str1.split()) b = set(str2.split()) c = a.intersection(b) return float(len ...
Mac配置多个Github账号
说明用Github绑定域名后博客网站有时会挂掉,还是原生的稳定些,因为一个Github账号只能部署一个Github Pages,所以就想把博客部署在不同的Github。但是电脑只能有一个Github作为默认账号,用非默认账号提交代码会出现Permission denied错误。那要怎么实现多个Github同时存在呢?
生成ssh key并上传Github这个就太简单了,不想写,百度一下教程多的是,这里是Github官方教程
~/.ssh/config文件配置1234567891011# 主Github账号,默认即可Host github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa# 第二个Github账号的配置,需要加上自己的用户名Host iszj.github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_iszj
测 ...
Python项目发布到pypi
首先注册pypi,并生成token
配置文件在家目录下创建twine配置文件.pypirc
1vi ~/.pypirc
填充如下内容,下面你只需要把password替换成你在pypi生成的token
12345678[distutils]index-servers = pypi[pypi]repository=https://upload.pypi.org/legacy/username=__token__password=pypi-AgEIcHlwaS5vcmcCJDJlNmNjOTRlLTg4MDgtNDQ1YS04ODIxLTI1YTg4NmI5ZDE2YxACJXsicGVybWlzc2lbbnMiOiAidXNlciIsICJ26XJzdfsdfsfdsfdsfX0AAAYgVJykZg2EBQ_QsLIQ-_ntCGdnRkFSEm3Tz_8_pIZbEgA
打包上传文件12python setup.py buildtwine upload dist/*
Python程序用pyinstaller打包成app或exe文件
当你写好了Python程序,想把自己做的程序发布给用户使用的时候,你会面对这样的问题:
不可能你的用户都是懂Python编程的人,你还要照顾那些普通用户
因为工具用了一些第三方库,不可能在每台电脑上对这些库逐一进行安装
如果你的程序任何人只要双击就能用,把你写出来的bugs从你自己的电脑中解放出来供全人类使用,是不是很棒?pyinstaller就是这么个帮你解决问题的帮手,他会帮你把需要的环境打包好封装到一个独立的应用中,让别人无忧使用。
准备材料测试代码我们准备画一只小猪的代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 ...
Centos普通用户配置免密登陆
在Linux里当我们需要执行一条root权限的命令时,每次都要用sudo命令然后再确认密码,非常不方便。那么我们修改配置sudo免密。默认新建的用户不在sudo组,但可以编辑/etc/sudoers文件将普通用户加入sudo组。要注意的是修改该文件需要切换到root用户使用命令 vi /etc/sudoers修改配置文件,将下列第三或第四行添加到文件中
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
例如:
1234## Allo ...
Shell单引号和双引号区别
1vim test.sh
123456789#!/bin/bashdo_date=$1 echo '$do_date' # 英文字母的单引号 $do_dateecho "$do_date" # 英文字母的双引号 2019-02-10echo "'$do_date'" # 英文字母的双引号包着单引号 '2019-02-10'echo '"$do_date"' # 英文字母的单引号包着双引号 "$do_date"echo `date` # 数字1旁边的反引号 可以写一些命令会把结果返回
1test.sh 2019-02-10
结果:
12345$do_date2019-02-10'2019-02-10'"$do_date"2019年 05月 02日 星期四 21:02:08 CST
wget命令高级用法总结
基本格式1wget [参数] [URL地址]
命令参数:启动参数:-V, –version 显示wget的版本后退出
-h, –help 打印语法帮助
-b, –background 启动后转入后台执行
-e, –execute=COMMAND 执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc
记录和输入文件参数:-o, –output-file=FILE 把记录写到FILE文件中
-a, –append-output=FILE 把记录追加到FILE文件中
-d, –debug 打印调试输出
-q, –quiet 安静模式(没有输出)
-v, –verbose 冗长模式(这是缺省设置)
-nv, –non-verbose 关掉冗长模式,但不是安静模式
-i, –input-file=FILE 下载在FILE文件中出现的URLs
-F, –force-html 把输入文件当作HTML格式文件对待
-B, –base=URL 将URL作为在-F - ...