0%

定义

mask矩阵是一个由0和1组成的矩阵。在NLP中,一个常见的问题是输入序列长度不等,而mask可以帮助我们处理。虽然RNN等模型可以处理不定长的输入,但是在实践中,需要对输入中长度较短的句子进行填充,即在句尾填充0占位,转换成固定大小的tensor,方便矩阵操作。

阅读全文 »

基本操作

Git基本配置(git config)

git config可以配置git的参数,可以使用git config --list查看已经配置的git参数。其中有三个级别的保存位置,–system、–global、–local,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用–local。

阅读全文 »

创建变量

Tensorflow创建变量有两种方式:

  1. tf.get_variable()
  2. tf.Variable()

它们的区别如下:

在 tf.name_scope下时,tf.get_variable()创建的变量名不受 name_scope 的影响,而且在未指定共享变量时,如果重名会报错,tf.Variable()会自动检测有没有变量重名,如果有则会自行处理。

阅读全文 »

首先声明笔者使用的服务器是Ubuntu16.04,数据库安装的是Mysql 5.7。初始的mysql默认字符集是latin1,如果向数据库中插入中文就会出现乱码,下面我们通过修改配置文件的方式修改mysql的默认编码。

阅读全文 »

背景

最近在用PHP写用户登录接口,但是将PHP代码部署到生产环境却发生了错误,用浏览器访问接口产生错误状态码500如下:

HTTP ERROR 500

这个错误是由于PHP代码存在错误引起的,但是默认PHP是关闭错误提示的。如果想要知道代码的错误必须先打开PHP的错误显示功能。

阅读全文 »

和上一篇文章一样,这篇文章也是我在数学建模中碰到的,如果只是普通数据量的计数问题那么我们不妨使用counter,但是如果数据量达到一定规模,那么我们不得不考虑其他算法来解决问题了。我们这里使用hyperloglog算法来实现大数据量计数问题,这种算法是一种基于统计的计数算法,算法并不一定准确,但是足够快,如果读者将速度放在第一位那么不妨试试这种算法,而且hyperloglog算法准确率逼近100%,试问1000001和100000又有多大的差距呢,所以这种算法是有一定实用性的。

阅读全文 »

数学建模中遇到求最近点对的问题,按理说我们使用朴素法进行暴力求解答案也是可行的,但是由于数据过于庞大,我们最初使用朴素法在计算机上跑了6个小时都没有得到问题的解,最终只得作罢。后来我们利用分治法解决了最近点对问题,具体思路参看这里

阅读全文 »

插曲是这样的,之前一直在给别人写外包程序,在程序中我使用到了numpy库中的argsort排序方法,这个排序方法十分方便,对可迭代对象进行排序并返回原顺序的索引值。由于程序要传给客户,所以我将代码封装成了exe可执行程序。之前封装出来的程序最多也就40来兆,可是自从我将开发环境切换到anaconda后,封装出来的程序高达200多兆,简直吓死我了。今天客户再次需要这个程序,于是我决定抛弃numpy库,自己实现argsort算法。

阅读全文 »