+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-08(17421)

2019-09(36497)

2019-10(17863)

2019-11(16331)

2019-12(27479)

2020-01(29868)

2020-02(621)

使用word2vec作为张量流输入的LSTM的可变句子长度

发布于2020-01-15 21:30     阅读(255)     评论(0)     点赞(7)     收藏(4)


我正在使用word2vec作为输入来构建LSTM模型。我正在使用tensorflow框架。我已经完成了词的嵌入部分,但是我坚持使用LSTM部分。

这里的问题是我的句子长度不同,这意味着我必须填充或使用具有指定序列长度的dynamic_rnn。我和他们两个都在挣扎。

  1. 填充。填充的混乱之处在于我何时进行填充。我的模特像

    word_matrix = model.wv.syn0
    X = tf.placeholder(tf.int32,shape)
    数据= tf.placeholder(tf.float32,shape)
    data = tf.nn.embedding_lookup(word_matrix,X)

然后,我将word_matrix的单词索引序列馈入X。我担心如果将零填充到馈入X的序列中,那么我会错误地继续馈送不必要的输入(在这种情况下为word_matrix [0])。

因此,我想知道0填充的正确方法是什么。如果您让我知道如何使用张量流实现它,那将是很好的。

  1. dynamic_rnn为此,我声明了一个包含所有句子长度的列表,并将其与X和y一起输入到末尾。在这种情况下,我不能批量输入输入。然后,我遇到了此错误(在未知的TensorShape上未定义ValueError:as_list()。)在我看来,sequence_length参数仅接受列表?(不过,我的想法可能完全不正确)。

以下是我的代码。

X = tf.placeholder(tf.int32)
labels = tf.placeholder(tf.int32, [None, numClasses])
length = tf.placeholder(tf.int32)

data = tf.placeholder(tf.float32, [None, None, numDimensions])
data = tf.nn.embedding_lookup(word_matrix, X)

lstmCell = tf.contrib.rnn.BasicLSTMCell(lstmUnits, state_is_tuple=True)
lstmCell = tf.contrib.rnn.DropoutWrapper(cell=lstmCell, output_keep_prob=0.25)
initial_state=lstmCell.zero_state(batchSize, tf.float32)
value, _ = tf.nn.dynamic_rnn(lstmCell, data, sequence_length=length,
                             initial_state=initial_state, dtype=tf.float32)

我在这部分上很挣扎,以至于任何帮助将不胜感激。

先感谢您。


解决方案


Tensorflow不支持可变长度的Tensor。因此,当您声明张量时,list / numpy数组应具有统一的形状。

  1. 从第一部分开始,我了解到您已经能够在序列长度的最后一个时间步中填充零。理想情况应该是这样。批量大小为4,最大序列长度为10和50个隐藏单位的查找方法如下->

    [4,10,50] 将是整个批次的大小,但是在内部,当您尝试可视化填充时,它的形状可能像这样->

    `[[5+5pad,50],[10,50],[8+2pad,50],[9+1pad,50]`

    每个填充代表隐藏长度为50张量的序列长度为1。除零外,其他所有内容均已填充。看看这个问题,并且这其中更多地了解垫手动如何。

  2. 出于不希望在填充序列上进行计算的确切原因,将使用动态rnn。tf.nn.dynamic_rnn API将确保通过传递的sequence_length参数。

    对于上面的示例,该参数将为:[5,10,8,9]对于上面的示例。您可以通过将每个批处理组件的非零实体相加来计算它。一种简单的计算方法是:

    data_mask = tf.cast(data, tf.bool)
    data_len = tf.reduce_sum(tf.cast(data_mask, tf.int32), axis=1)

    并通过tf.nn.dynamic_rnnapi 传递

    tf.nn.dynamic_rnn(lstmCell, data, sequence_length=data_len, initial_state=initial_state)


所属网站分类: 技术文章 > python问答

作者:黑洞官方问答小能手

链接: http://www.pythonheidong.com/blog/article/223744/

来源:python黑洞网 www.pythonheidong.com

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

7 0

赞一赞 or 踩一踩

收藏该文
已收藏

评论内容:(最多支持255个字符)

相似文章

  scapy:UDP碎片整理时间戳记问题

  Python:测试字典(dict)条目是否已被修改

  具有适用于Python的Good Designer的GUI工具包[关闭]

  在Python中通过stdin / stdout / pipes进行通信的预定义协议?

  Python 3.2中的截断法

  Android上的Appengine身份验证

  SOAPpy中的名称空间无法按预期工作

  建模机器人运动的最佳3D库

  if语句为true时如何停止迭代?

  在Python中获取文件关联

优质资源排行榜

 python经典电子书大合集下载 下载次数 8138

 零基础java开发工程师视频教程全套,基础+进阶+项目实战(152G) 下载次数 7550

 零基础前端开发工程师视频教程全套,基础+进阶+项目实战(共120G) 下载次数 7442

 零基础大数据全套视频400G 下载次数 7006

 零基础php开发工程师视频教程全套,基础+进阶+项目实战(80G) 下载次数 6893

 零基础软件测试全套系统教程 下载次数 6506

 全套人工智能视频+pdf 下载次数 6443

 IOS全套视频教程 基础班+就业班 下载次数 4680

 编程小白的第一本python入门书(高清版)PDF下载 下载次数 3648

10  effective python编写高质量Python代码的59个有效方法 pdf下载 下载次数 3361

11  Python深度学习 pdf下载 下载次数 3156

12  笨办法学python pdf下载 下载次数 3087

13  Python Cookbook第三版中文PDF下载高清完整扫描原版 下载次数 3024

14  树莓派Python编程指南 pdf下载 下载次数 3011

15  python从入门到精通视频(全60集)python视频教程下载 下载次数 3009

16  python项目开发视频 下载次数 3002

17  使用python+pygame开发的小游戏《嗷大喵快跑》源码下载 下载次数 3000

18  黑马2017年java就业班全套视频教程 下载次数 2992

19  Python基础教程 pdf下载 下载次数 2988

20  python实战项目 平铺图像板系统源码下载,适用于想要保存,标记和共享图像,视频和网页的用户 下载次数 2987

21  利用python实现程序内存监控脚本 下载次数 2987

22  老男孩python自动化视频 下载次数 2983

23  老王python基础+进阶+项目视频教程 下载次数 2974

24  尚硅谷Go学科全套视频 下载次数 2972

25  某硅谷Python项目+AI课程+核心基础视频教程 下载次数 2968

26  Web前端实战精品课程 下载次数 2967

27  Python算法教程_中文版 pdf下载 下载次数 2966

28  tron python小游戏 下载次数 2963

29  [小甲鱼]零基础入门学习Python 下载次数 2962

30  老男孩python全栈开发15期 下载次数 2958

31  2017最新web前端开发完整视频教程附源码 下载次数 2948

32  最新全套完整JAVAWEB2018开发视频 下载次数 2926

33  流畅的Python PDF下载高清完整扫描原版 下载次数 2919

34  Spring boot实战视频6套下载 下载次数 2910

35  python全套视频十五期(116G) 下载次数 2908

36  Python高性能编程 pdf下载 下载次数 2906

37  Python项目实战 下载次数 2887

38  30个小时搞定Python网络爬虫 含源码 下载次数 2884

39  简明python教程 (A Byte of Python)pdf下载 下载次数 2884

40  利用Python进行数据分析 pdf下载 下载次数 2884

41  python全自动抢火车票教程-python视频教程下载 下载次数 2883

42  尚硅谷大数据之Hadoop视频 下载次数 2876

43  Python A~B~C~ python视频教程下载 下载次数 2866

44  数据结构与算法视频(小甲鱼讲解-全) 下载次数 2864

45  web小程序表白天数倒计时源码下载 下载次数 2863

46  python基础视频教程 下载次数 2862

47  go语言全套视频 下载次数 2855

48  清华学霸尹成Python爬虫视频-ok 下载次数 2846

49  黑马前端36期最全视频和代码 下载次数 2843

50  2018最新全套web前端视频教程+源码下载 下载次数 2841