开始
背景
前一段在公司做实验,本来想着如何节约运算空间,就打起了float16
的主意。
数据类型
由于我是处理英文NLP类型的数据,所以采用了unigram
的方式来切分单词
具体就是我采用了sentence piece model
来train自己的spm
模型
在使用spm
模型中,可以一句话转成若干个subwords
,而这些subwords
就可以用id
来表示
举个例子
通过spm
模型,可以将这句话:
I am Q
----> [41, 515, 11]
所以我的数据格式理所应当的就是整型数字了!
悲剧的发生
其实做过NLP的朋友都知道,在处理NLP数据里,对数据进行补零(Padding)是一个非常有必要的事情。
因为无论是简单的Vanilla RNN还是复杂如transformer,都是有一个max length的。
所以我就非常理所应当的用了keras
里提供的pad_sequence
方法来进行补零,方法代码如下:
..