TF211——字母预测Embedding_4pre1.md
作者:互联网
TF211——字母预测Embedding_4pre1.md
用RNN实现输入连续四个字母,预测下一个字母(Embedding编码)
按照六步法,首先import相关模块
这次我们将字母扩展到了26个,字母从a到建立了一个映射表,把字母用数字表示从0-25,建立了两个空列表,
- 一个存放训练用的输入特征x_train
- 另一个存放训练用的标签y_train,
用for循环从数字列表中,把连续4个数作为输入特征添加到x_train中,第5个数作为标签添加到y_train中,构建了训练用的输入特征x_train和标签y_train,构建了训练用的输入特征x_train和标签y_train
将他们打乱顺序
把输入特征变成Embedding层期待的形状
- 第一个维度送入样本数,使整个数据集样本数,有22个,可以用len(x_train)得到
- 第二个维度循环核时间展开步数,因为连续输入4个字母就得到输出,所以时间展开步数是4
再把y_train变为numpy格式
在用Sequential搭建网络时,多了一层Embedding层,先对输入数据进行编码,这里的26表示输入的样本数是26,这里的2表示每个单词用2个数值编码,这一层会生成一个26行2列的可训练参数矩阵实现编码可训练
随后,搭建有十个记忆体的循环层,输出会是26个字母之一所以是26,设置Dense层全连接实现了输出层yt的计算,
随后是cmopile fit summary和六步法一样,执行反向传播训练参数矩阵
提取参数和acc/loss可视化,同样用了六步法八股的套路
应用:字母预测
用了一个for循环,先输入要执行几次预测任务,随后等待输入四个字母,把这个字母,转换为Embedding所希望的形状
-
只送入1组输入特征所以送入样本数是1,
-
输入连续的4个字母就给出预测结果,所以时间展开步数是4
通过predict得到预测结果,选出预测结果最大的一个,print输出预测结果
标签:4pre1,26,预测,md,字母,train,Embedding,输入 来源: https://www.cnblogs.com/studyhao1999/p/16035782.html