Python ConcatOp:输入的尺寸应匹配:形状[0]=[7100]与形状[1]=[9100]
在我的管道中,我试图连接字符嵌入和单词嵌入,但是concat操作表示维度不匹配,尽管两个向量都有100列变量 我发现在这里更改字符嵌入的维度会产生不同Python ConcatOp:输入的尺寸应匹配:形状[0]=[7100]与形状[1]=[9100],python,python-3.x,tensorflow,nlp,cnn,Python,Python 3.x,Tensorflow,Nlp,Cnn,在我的管道中,我试图连接字符嵌入和单词嵌入,但是concat操作表示维度不匹配,尽管两个向量都有100列变量 我发现在这里更改字符嵌入的维度会产生不同 self.character_embedding_weights = tf.get_variable( "character_embedding_weights", shape=[dataset.alphabet_size, 25],
self.character_embedding_weights = tf.get_variable(
"character_embedding_weights",
shape=[dataset.alphabet_size, 25],
initializer=initializer)
embedded_characters = tf.nn.embedding_lookup(self.character_embedding_weights,
self.input_token_character_indices, name='embedded_characters')
if self.verbose:
print("embedded_characters: {0}".format(embedded_characters))
utils_tf.variable_summaries(self.character_embedding_weights)
s = tf.shape(embedded_characters)
// Altering the dimensions from here
char_embeddings = tf.reshape(embedded_characters, shape=[-1,25,9])
最初,我保持这个形状=[-1,25,20],然后我得到如下错误
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input to reshape is a tensor with 1575 values, but the requested shape requires a multiple of 500
所以我改变了形状=[-1.25.9],然后我得到了这个回溯
Starting epoch 0
Training completed in 0.00 seconds
Evaluate model on the train set
Traceback (most recent call last):
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1365, in _do_call
return fn(*args)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1350, in _run_fn
target_list, run_metadata)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1443, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [7,100] vs. shape[1] = [9,100]
[[{{node concatenate_token_and_character_vectors/token_lstm_input}}]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/DeLL/Desktop/NLP/NeuroNER-master/neuroner/__main__.py", line 114, in <module>
main()
File "C:/Users/DeLL/Desktop/NLP/NeuroNER-master/neuroner/__main__.py", line 110, in main
nn.fit()
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\neuroner\neuromodel.py", line 712, in fit
stats_graph_folder, dataset_filepaths)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\neuroner\train.py", line 174, in predict_labels
parameters, dataset_filepaths)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\neuroner\train.py", line 68, in prediction_step
model.predictions], feed_dict)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 956, in run
run_metadata_ptr)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1180, in _run
feed_dict_tensor, options, run_metadata)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1359, in _do_run
run_metadata)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1384, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [7,100] vs. shape[1] = [9,100]
[[node concatenate_token_and_character_vectors/token_lstm_input (defined at \Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\framework\ops.py:1748) ]]
Original stack trace for 'concatenate_token_and_character_vectors/token_lstm_input':
File "/Users/DeLL/Desktop/NLP/NeuroNER-master/neuroner/__main__.py", line 114, in <module>
main()
File "/Users/DeLL/Desktop/NLP/NeuroNER-master/neuroner/__main__.py", line 109, in main
nn = neuromodel.NeuroNER(**arguments)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\neuroner\neuromodel.py", line 483, in __init__
self.model = EntityLSTM(self.modeldata, self.parameters)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\neuroner\entity_lstm.py", line 190, in __init__
axis=1, name='token_lstm_input')
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\util\dispatch.py", line 180, in wrapper
return target(*args, **kwargs)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\ops\array_ops.py", line 1420, in concat
return gen_array_ops.concat_v2(values=values, axis=axis, name=name)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\ops\gen_array_ops.py", line 1257, in concat_v2
"ConcatV2", values=values, axis=axis, name=name)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\framework\op_def_library.py", line 794, in _apply_op_helper
op_def=op_def)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\util\deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3357, in create_op
attrs, op_def, compute_device)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3426, in _create_op_internal
op_def=op_def)
File "\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1748, in __init__
self._traceback = tf_stack.extract_stack()
我更改了1行移位的代码character\lstm\u output=tf。重塑(character\lstm\u output,shape=[-1,25,4])
下面是致密层。
它帮助我匹配[9100]的形状,但它被终止,显示出类似的错误,但需要不同的形状匹配
Traceback (most recent call last):
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1365, in _do_call
return fn(*args)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1350, in _run_fn
target_list, run_metadata)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1443, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [4,100] vs. shape[1] = [2,100]
[[{{node concatenate_token_and_character_vectors/token_lstm_input}}]]
如果需要更多信息,请发表评论。我将编辑问题或添加更多信息。谢谢
Traceback (most recent call last):
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1365, in _do_call
return fn(*args)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1350, in _run_fn
target_list, run_metadata)
File "C:\Users\DeLL\Desktop\NLP\NeuroNER-master\venv\lib\site-packages\tensorflow_core\python\client\session.py", line 1443, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [4,100] vs. shape[1] = [2,100]
[[{{node concatenate_token_and_character_vectors/token_lstm_input}}]]