2018.4.12

    总体来说,昨天的工作还是客观的。

    上午我首先运行的是lstm.py这个demo。也不知道是我下的python和TensorFlow的版本和教程的不同,还是其他原因,老是有错误,真是让我生气的。我又查找了好长时间的错误,这个demo是在TFLearn下做的。这个TFLearn是比TensorFlow更高一级的,而且代码简单清晰。就短短的几行代码解释了如何使用lstm进行循环神经网络的训练,很是厉害。这个例子,主要是计算最后的最大输出概率,我最终也没有弄懂是做什么的。

    因为只是看结果根本就看不出是做什么来的,我就查询该例子的解释,网上还真有人贴出来的。输入的时候是向量,输出也是向量,该例子主要是对比了一个文件中的前1000个词语,并且每个词的最终维度都是100。输出的是一个.pkl文件。我查了查该文件是属于python的以一个数据存储文件,我本来想着是用自己写一个python程序看里面是什么内容,结果都不成,我也就放弃了。

    后来,我又测试了网上的一个“泰坦尼克号”的例子。该例子主要是根据年龄、性别,录入神经系统中,再次输入一组数据时,判别该特征人是否存活。试了之后发现是可行的。但是,这个有些简单,我其实可以从普通的程序也可以完成这项操作,所以说,没有什么可值得记录的知识点。

    最后测试的一个例子,是英文版的问答。

    里面是用json文件存储所以的问题、答案。在神经网络中存储的时候,是按照以下格式存储的。

    例如:

            A:第一个问题    B:第一个答案

            A1:第二个问题  B1:第二个答案

            A2:第三个问题   B2:第三个答案

    存储格式:(A,B)、(B,A1)、(A1 , B1)、(B1 , A2 )、(A2 , B2)

    存储之后记录,经过神经网络处理后,可以得到每个词的概率。输入句子后,经过处理可以得到答案。根据这个代码测试后,我发现了一个不怎么好的地方。

    在基于上下文处理过程中,是在给定的文本中做了特定处理,和普通问答题是有区别的。我认为这样是不合理的。如果能这样做处理,那还需要神经网路做什么?今天我还会再次跟进这个问题。

    在做的过程中,我发现了TFLearn都用的是DNN做处理,虽然测试了几个例子,但是我还没有了解什么是DNN。

    1:了解DNN的主要工作原理。

    2:TFLearn中SLTM中的使用。

    3:继续测试demo,找到合适我们所需要的。

    刚开始的时候确实很难,昨天上午看了那么长时间,我觉得自己都不想上班了,真的是让我很头疼。换了个语种,而且跨度很大。真是头疼。不过,既然我已经对这个有了点了解,今天我觉得会比昨天做的更好。

猜你喜欢

转载自blog.csdn.net/qq_32716885/article/details/79907003