问题标签 [attention-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 分层注意网络 - model.fit 生成错误“ValueError:输入维度不匹配”
作为背景,我指的是用于情感分类的层次注意网络。
对于代码:我的完整代码发布在下面,但这只是作者在上面的链接上发布的原始代码的简单修改。我在下面解释我的变化。 对于训练数据:这里 对于词嵌入:这是 Glove 嵌入这里 关键配置:Keras 2.0.9、Scikit-Learn 0.19.1、Theano 0.9.0
上面链接中发布的原始代码采用 3D 形状输入,即(评论、句子、单词)。注意力机制适用于句子,也适用于单词。所以它有两个注意力组件,你可以在网页的第四个代码块中看到。
我想把它改成只需要一个2D 形状输入的。我这样做是通过
- 更改输入形状和输入嵌入矩阵(请参阅下面我的代码中的内联注释)
- 通过删除句子注意组件来更改模型构建部分,仅保留单词注意组件(请参阅下面我的代码中的内联注释)
但是,当调用“model.fit”时,代码会产生错误。我在下面发布了完整的代码和错误。
代码:
ERROR:代码的最后一行生成以下错误跟踪:
我真的很感激对此的一些建议,非常感谢提前!
python - 无法在 OpenCV-DNN TensorFlow 中解析函数“ReadTFNetParamsFromTextFileOrDie”中的 GraphDef 文件
我想用 OpenCV-DNN 包装注意力 OCR模型以增加推理时间。我正在使用官方 TF 模型repo中的 TF 代码。
对于使用 OpenCV-DNN 包装 TF 模型,我指的是此代码。需要“cv2.dnn.readNetFromTensorflow()
冻结图”和“图结构”来读取 TF 模型。
我使用此代码片段从元检查点文件导入结构并将图形结构保存在.pbtxt
文件中。
冻结图,代码如下:
最终代码使用函数中的pbtxt
和pb
文件cv2.dnn.readNetFromTensorflow()
。
遇到的错误是:
注意:输出节点名称是通过查看生成的图中的张量列表手动设置的:
我将非常感谢 SO 社区提供的任何帮助。
nlp - 为什么在 first attention 论文中没有使用词嵌入(Glove、word2vecetc)?
在联合学习对齐和翻译 Bahdanau 等人的神经机器翻译论文中。人。为什么没有使用 Glove 或 word2vec 等词嵌入?
我知道这是 2014 年的一篇论文,但是 github 上论文的当前实现也不使用任何词嵌入?
为了尝试对论文进行编码,使用词嵌入是否合理?
keras - Keras RNN + Encoder/Decoder + Attention 中的图断开连接
我已经使用编码器/解码器结构 + 注意力 + 手套在 Keras 中成功训练了一个模型,下面有几个例子,最值得注意的是这个和这个。它基于对机器翻译的修改。这是一个聊天机器人,所以输入是单词,输出也是。但是,我一直在努力正确设置推理(预测),并且无法弄清楚如何通过图形断开连接。我的带有嵌入和注意力的双向 RNN 编码器/解码器训练良好。我试过修改解码器,但觉得有一些明显的东西我没有看到。
这是基本模型:
它看起来像这样: 在此处输入图像描述
这是我遇到麻烦的地方:
这会产生图形断开错误:图形断开连接:无法在“encoder_inputs”层获得张量 Tensor("encoder_inputs_61:0", shape=(?, 1037), dtype=float32) 的值。访问以下先前层没有问题:[]
应该可以进行这样的推理,但我无法克服这个错误。我不可能简单地将decoder_output 和attention 加在一起,因为它们的形状不同。
python - 在 Keras 中实现一个简单的注意力机制
我想实现一个简单的注意力机制来集成 CNN 模型的结果。
具体来说,我输入的每个示例都是图像序列,因此每个示例都有 shape [None, img_width, img_height, n_channels]
。
使用TimeDistributed
包装器,我可以应用我的 CNN 以获得 shape 的输出[None, hidden_state_size]
。
我想将 CNN 应用于序列中的每个图像,然后计算 shape 的注意力向量[None]
。为了做到这一点,我通过具有单个输出单元的 TimeDistributed Dense 网络运行 TimeDistributed CNN 的输出,并计算序列上的 softmax。
然后应该将注意力向量乘以 TimeDistributed CNN 的输出,并将所有内容相加,以便我们最终得到一个 shape 的张量[hidden_state_size]
。
结果代码是这样的:
这个模型的尺寸似乎检查出来了,但这会做我想要的吗?还是我在某个地方犯了错误?
tensorflow - Keras重复元素将ValueError List参数'indices'抛出到'SparseConcat'Op,长度0小于最小长度2
I am trying to implement the code for Unsupervised Aspect Extraction from the code available here.
Link to the paper
While implementing Attention class in ml_layers.py, i am getting error in call function at line
Complete code of the function is given below:
The error is as follows Traceback (most recent call last):
File "", line 1, in model = create_model(ortho_reg, neg_size, emb_dim, aspect_size, emb_path, maxlen, vocab)
File "/home/fractaluser/Projects/workspace/UnsupervisedAspectExtraction/code/model.py", line 32, in create_model att_weights = Attention(name='att_weights')([e_w, y_s])
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site-packages/keras/engine/base_layer.py”,第 457 行,调用 output = self.call(inputs, **kwargs)
文件“/home/fractaluser/Projects/workspace/UnsupervisedAspectExtraction/code/my_layers.py”,第 58 行,调用 y = K.repeat_elements(y, self.steps, axis=1)
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py”,第 2093 行,repeat_elements 返回连接(x_rep,轴)
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py”,第 1954 行,串联返回 tf.sparse_concat(axis, tensors)
文件“/home/fractaluser/.local/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py”,第 488 行,在 new_func 返回 func(*args, **kwargs)
文件“/home/fractaluser/.local/lib/python3.5/site-packages/tensorflow/python/ops/sparse_ops.py”,第 316 行,在 sparse_concat gen_sparse_ops.sparse_concat(inds,vals,shapes,axis,name=姓名))
文件“/home/fractaluser/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_sparse_ops.py”,第 911 行,在 sparse_concat concat_dim=concat_dim, name=name)
_apply_op_helper 中的文件“/home/fractaluser/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py”,第 570 行(input_name,op_type_name,len(values),num_attr.minimum) )
ValueError:将参数 'indices' 列出到 'SparseConcat' Op,长度 0 比最小长度 2 短。
在互联网上找不到任何解决方案。请帮忙
python - 层次注意网络中的输入层代表什么
我试图掌握分层注意力网络(HAN)的概念,我在网上找到的大部分代码都或多或少类似于这里的代码:https ://medium.com/jatana/report-on-text-分类-使用-cnn-rnn-han-f0e887214d5f:
我的问题是:这里的输入层代表什么?我猜 input1 代表用嵌入层包裹的句子,但在这种情况下 input2 是什么?是 sendEncoder 的输出吗?在这种情况下,它应该是一个浮点数,或者如果它是另一层嵌入的单词,那么它也应该用嵌入层包裹。
tensorflow - 模型尺寸太大,我的注意力模型实现?
我正在实施 Minh-Thang Luong 的注意力模型来构建一个英文到中文的翻译器。我训练的模型大小异常大(980 MB)。Minh-Thang Luong 的原始论文
这是模型参数
这是我在 tensorflow 中的模型实现。
这是到目前为止我能想到的模型参数大小的缩减
将它们相加得到 212 MB,但实际模型大小为 980 MB。那么哪里错了?
python - Keras 中的注意力:如何在 keras 密集层中添加不同的注意力机制?
我是 Keras 的新手,我正在尝试在带有注意力层的 keras 中构建一个简单的自动编码器:
这是我尝试过的:
它看起来像这样:
在这个模型中我可以在哪里添加注意力层?我应该在第一个编码输出之后和第二个编码输入之前添加吗?
我也在通过这个美丽的库:
https://github.com/CyberZHG/keras-self-attention
他们已经实现了各种类型的注意力机制,但它是针对顺序模型的。我如何在我的模型中添加这些注意力?
我尝试了非常简单的注意:
它在正确的位置吗?我可以在这个模型中添加任何其他注意机制吗?
keras - LSTM 自动编码器顶部的注意力层出现不兼容错误
我正在部署一个Bidirectional LSTM Autoencoder
,并在attention layer
此基础上添加。
在添加注意力层之前,它工作正常。我从这篇文章中得到了添加注意力层的想法。添加注意力后,它抱怨尺寸不兼容。
这是我添加注意后的代码:
这是我得到的错误:
我已阅读有关此错误的几篇文章,即:this和this和this。但它们与我的错误不同。另外,有些人建议让return_sequences = False,但我认为这不是正确的方法。稍后在代码中,如果我们将其设置为 False,它会再次引发错误!
所以,我觉得我做错了什么,否则,为什么网络应该用标准架构引发错误。
所以我的问题是:这个网络出了什么问题,我该如何修复它。
如果您能详细解释一下,我将不胜感激,这样我就可以更好地掌握或给我一些链接来讨论我的代码中的冲突。
提前致谢!