lstm

CUDNN_STATUS_BAD_PARAM when trying to perform inference on a LSTM Seq2Seq with masked inputs

末鹿安然 提交于 2020-01-22 15:00:20
问题 I'm using keras layers on tensorflow 2.0 to build a simple LSTM-based Seq2Seq model for text generation . versions I'm using: Python 3.6.9, Tensorflow 2.0.0, CUDA 10.0, CUDNN 7.6.1, Nvidia driver version 410.78. I'm aware of the criteria needed by TF to delegate to CUDNNLstm when a GPU is present (I do have a GPU and my model/data fill all these criteria). Training goes smoothly (with a warning message, see the end of this post) and I can verify that CUDNNLstm is being used. However, when I

Tensorflow Serving - Stateful LSTM

不问归期 提交于 2020-01-21 06:36:54
问题 Is there a canonical way to maintain a stateful LSTM, etc. with Tensorflow Serving? Using the Tensorflow API directly this is straightforward - but I'm not certain how best to accomplish persisting LSTM state between calls after exporting the model to Serving. Are there any examples out there which accomplish the above? The samples within the repo are very basic. 回答1: From Martin Wicke on the TF mailing list: "There's no good integration for stateful models in the model server yet. As you

Tensorflow Serving - Stateful LSTM

混江龙づ霸主 提交于 2020-01-21 06:36:10
问题 Is there a canonical way to maintain a stateful LSTM, etc. with Tensorflow Serving? Using the Tensorflow API directly this is straightforward - but I'm not certain how best to accomplish persisting LSTM state between calls after exporting the model to Serving. Are there any examples out there which accomplish the above? The samples within the repo are very basic. 回答1: From Martin Wicke on the TF mailing list: "There's no good integration for stateful models in the model server yet. As you

关于意图识别的一些整理理解(一)

帅比萌擦擦* 提交于 2020-01-20 21:13:56
自然语言处理意图识别 自然语言处理一直是机器学习方面的一个难题,最近在参加竞赛时需要进行意图识别的相关探索学习,本文大致对我个人对意图识别的理解和做法进行一个简要的整理。 开始时思考的其实并不容易,因为作为大学生对机器学习和深度学习的底子比较薄,并且做过的跟机器学习有关的项目勉勉强强只能算是有一个,所以开始整理思路时就参考了《美团机器学习实践》这本书,确实获益匪浅,光笔记我就用typora打了40多页,确实值得大家去看一下。 从中我大概了解了整个自然语言处理的综合步骤以及相关做法,然后对意图识别这个名词有了一定的了解,它可以说是电商搜索和推荐的开门砖,从用户的搜索输入中提取最为关键的分类信息,即查找用户搜索的相关商品的门类,再从本门类(无论一级分类如食物、旅游或者二级分类面食类、肉类等精细分类)搜索或者执行推荐算法推荐相似度较高的产品时(当然这种推荐不包括如adaboost这样的相关性商品推荐),会大大减小搜索耗时以及推荐复杂度,很好的节省了系统开销,可以说是大型互联网公司搜索系统的必备杀器。 其中不妨有参考各路大神的代码,如有雷同,还请见谅。 这次意图识别为了同时提高准确率和召回率,我选择使用组合模型进行相应的处理,通过结合ElasticSearch的精确以及快速搜索功能以及综合word2vec词语相似度和LSTM模型两种方法来完成意图准确识别 本文使用的工具和包较多,大体罗列下

基于长短时神经网络(LSTM)+word2vec的情感分析

只谈情不闲聊 提交于 2020-01-20 00:53:29
前言: 毕业前的项目,最近终于有时间整理个博客出来。使用的keras+gensim完成,也参考了互联网很多相关资料。最终效果只有88%左右,不过优化空间很大,只用作学习demo 数据集使用的是谭松波酒店评论数据集 停用词我自己整理了一个停用词词典 分享给大家 链接:https://pan.baidu.com/s/1ZkMGAUH7VSxJALWBs41iKQ 提取码:2c1e 1.数据处理 这一步主要是对评论文本做清洗,在这里只做简单的 去停用词 。 首先写一个去停用词的方法 import jieba f = open ( './stop_words.txt' , encoding = 'utf-8' ) # 加载停用词 stopwords = [ i . replace ( "\n" , "" ) for i in f . readlines ( ) ] # 停用词表 def del_stop_words ( text ) : "" " 删除每个文本中的停用词 : param text : : return : "" " word_ls = jieba . lcut ( text ) word_ls = [ i for i in word_ls if i not in stopwords ] return word_ls 然后读取正面评论与负面评论的语料 并进行清洗 with

lstm参数理解

隐身守侯 提交于 2020-01-19 16:50:28
keras LSTM的理解 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 如何创建一个注脚 注释也是必不可少的 KaTeX数学公式 新的甘特图功能,丰富你的文章 UML 图表 FLowchart流程图 导出与导入 导出 导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数学公式 语法; 增加了支持 甘特图的mermaid语法 1 功能; 增加了 多屏幕编辑 Markdown文章功能; 增加了 焦点写作模式、预览模式、简洁写作模式

How to calculate the number of parameters of an LSTM network?

佐手、 提交于 2020-01-19 02:55:12
问题 Is there a way to calculate the total number of parameters in a LSTM network. I have found a example but I'm unsure of how correct this is or If I have understood it correctly. For eg consider the following example:- from keras.models import Sequential from keras.layers import Dense, Dropout, Activation from keras.layers import Embedding from keras.layers import LSTM model = Sequential() model.add(LSTM(256, input_dim=4096, input_length=16)) model.summary() Output _____________________________

原创:语义相似度(理论篇)

落爺英雄遲暮 提交于 2020-01-18 14:50:51
  如果本文观点有不对的地方,欢迎指正! author:佟学强  开场白:对于事物的理解,一般分3个层次:①看山是山,看水是水②看山不是山,看水不是水③看山是山,看水是水。对AI和nlp的理解,同样会有这三个层次。比如,刚毕业的硕士或者毕业1~2年的,会热衷于研究GAN,seq2seq,甚至包括nlp刚起步的一些公司。这类群体对nlp的理解处于第一层次,后面还有很多雷区要踩,要付出一定的试错代价,成长的代价。等到有一定的积累了,对nlp的理解有一定的理解功底了,会逐渐修正研究路线和方向,这个时候比第一阶段有更多的疑惑,因为随着研究的深入,发现nlp和图像机制存在很大的不同,不能照搬,认知智能好像不是那么容易,由感知智能到认知智能的跨越,是这一阶段的一大进步,这是第二个层次,各个派别有争论,看山不是山,看水不是水。最高境界,返璞归真,拥有行业20年及以上的研究人员,对nlp看的比较透,目前的Ai基本上陷入了统计建模,概率的漩涡之中,还不是真正的智能。仅仅从数据中挖掘线性关系还远远不够,应该让机器具有认知能力,挖掘因果关系。致力于推进nlp认知智能的进步,加大力度研究知识图谱,包括知识图谱的向量化,与深度学习的融合,让神经网络学习规则等等。可以这样说,目前从感知智能到认知智能的跨越,才刚刚开始,知识工程的复苏势不可挡。本人接触过许多刚入门的人,基本上对seq2seq和GAN比较狂热

使用LSTM预测用户的质量

不问归期 提交于 2020-01-17 04:08:21
使用LSTM预测用户的质量 使用用户的页面点击行为数据,预测用户的好坏 代码: import numpy as np from numpy.random import seed seed(1) from tensorflow import set_random_seed set_random_seed(2) import pdb import sys import json import numpy import time import pickle import os from sklearn.metrics import roc_auc_score import tensorflow as tf import keras from keras.preprocessing import sequence from keras.models import Sequential, Model from keras.layers import Dense, Embedding, Input, Lambda,LSTM, Bidirectional from keras import backend as K from attention2 import Attention INPUTS_NAME = ['input_sequence_dur_os', 'input_sequence

睿智的seq2seq模型1——利用seq2seq模型对数字进行排列

时光总嘲笑我的痴心妄想 提交于 2020-01-15 14:56:25
睿智的seq2seq模型1——利用seq2seq模型对数字进行排列 学习前言 seq2seq简要介绍 利用seq2seq实现数组排序 实现方式 一、对输入格式输出格式进行定义 二、建立神经网络 1、神经网络的输入 2、语义编码c的处理 3、输出神经网络 4、网络构建部分全部代码 全部实现代码 学习前言 快乐学习新知识,seq2seq还是很重要的! seq2seq简要介绍 seq2seq属于encoder-decoder结构的一种。 seq2seq的encoder是一个常见的循环神经网络,可以使用LSTM或者RNN,当输入一个字符串的时候,可以对其进行特征提取,获得语义编码C。 而decoder则将encoder得到的编码C作为初始状态输入到decoder的RNN中,得到输出序列。 语义编码C是输入内容的特征集合体,decoder可以讲这个特征集合体解码成输出序列。 利用seq2seq实现数组排序 实现的目标如下: 当输入一列无序的数列后,可以对其进行排序。 实现方式 一、对输入格式输出格式进行定义 将输入的1、2、3的格式转化为如下格式,第几位为1代表这个数字是几: 由于数组的序列号是从0开始的,所以: 1转化为[0,1,0,0]; 2转化为[0,0,1,0]; 3转化为[0,0,0,1]。 这样的格式转换更有利于代码处理。 二、建立神经网络 1、神经网络的输入