Tensorflow Keras重复元素抛出ValueError列表参数';指数';至';SparseConcat';长度0小于最小长度2的Op
我正在尝试从可用代码中实现无监督方面提取的代码。 到报纸Tensorflow Keras重复元素抛出ValueError列表参数';指数';至';SparseConcat';长度0小于最小长度2的Op,tensorflow,keras,unsupervised-learning,aspect,attention-model,Tensorflow,Keras,Unsupervised Learning,Aspect,Attention Model,我正在尝试从可用代码中实现无监督方面提取的代码。 到报纸 在ml_layers.py中实现注意类时,我在第行的call函数中遇到了错误 y = K.repeat_elements(y, self.steps, axis=1) 功能的完整代码如下所示: def call(self, input_tensor, mask=None): x = input_tensor[0] y = input_tensor[1] mask = mask[0] y = K.
在ml_layers.py中实现注意类时,我在第行的call函数中遇到了错误
y = K.repeat_elements(y, self.steps, axis=1)
功能的完整代码如下所示:
def call(self, input_tensor, mask=None):
x = input_tensor[0]
y = input_tensor[1]
mask = mask[0]
y = K.transpose(K.dot(self.W, K.transpose(y)))
y = K.expand_dims(y, axis=-2)
y = K.repeat_elements(y, self.steps, axis=1)
eij = K.sum(x*y, axis=-1)
if self.bias:
b = K.repeat_elements(self.b, self.steps, axis=0)
eij += b
eij = K.tanh(eij)
a = K.exp(eij)
if mask is not None:
a *= K.cast(mask, K.floatx())
a /= K.cast(K.sum(a, axis=1, keepdims=True) + K.epsilon(), K.floatx())
return a
错误如下
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
模型=创建模型(正交、负尺寸、emb尺寸、纵横比尺寸、emb路径、maxlen、vocab)
文件“/home/fractaluser/Projects/workspace/unsupervisiedaspectextraction/code/model.py”,第32行,在create_model中
注意(name='att_weights')([e_w,y_s])
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site packages/keras/engine/base_layer.py”,第457行,在调用中
输出=自调用(输入,**kwargs)
文件“/home/fractaluser/Projects/workspace/unsupervisiedaspectextraction/code/my_layers.py”,第58行,在调用中
y=K.重复元素(y,self.steps,轴=1)
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site packages/keras/backend/tensorflow_backend.py”,第2093行,重复元素
返回连接(x_代表,轴)
文件“/home/fractaluser/anaconda3/envs/venv_keras/lib/python3.5/site packages/keras/backend/tensorflow_backend.py”,第1954行,串联
返回tf.sparse_concat(轴,张量)
文件“/home/fractaluser/.local/lib/python3.5/site packages/tensorflow/python/util/deprecation.py”,第488行,新函数
返回函数(*args,**kwargs)
文件“/home/fractaluser/.local/lib/python3.5/site packages/tensorflow/python/ops/sparse\u ops.py”,第316行,以稀疏形式显示
gen_稀疏运算稀疏运算(IND、VAL、形状、轴、名称=名称))
文件“/home/fractaluser/.local/lib/python3.5/site packages/tensorflow/python/ops/gen\u sparse\u ops.py”,第911行,以sparse\u concat格式
concat_dim=concat_dim,name=name)
文件“/home/fractaluser/.local/lib/python3.5/site packages/tensorflow/python/framework/op_def_library.py”,第570行,在_apply_op_helper中
(输入名称、操作类型名称、长度(值)、数量属性最小值)
ValueError:将参数“index”列出到“SparseConcat”Op,长度0小于最小长度2
在internet上找不到任何解决方案。请帮帮我,我以前有这个问题
属性错误:模块“keras.backend”没有属性“image\u dim\u ordering”
所以我必须
修改K.image\u dim\u ordering()=='th'('tf')==>K.image\u data\u format()=='channels\u first'(channels\u last)
在那之后,我遇到了和你一样的问题。但我的问题是仍然有一些地方不正确。在我修改所有位置之后。问题已经解决了。
我希望这能对您有所帮助。这不是意味着
self.steps
为0吗?