Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ConcatOp:输入的尺寸应匹配:形状[0]=[7100]与形状[1]=[9100]_Python_Python 3.x_Tensorflow_Nlp_Cnn - Fatal编程技术网

Python ConcatOp:输入的尺寸应匹配:形状[0]=[7100]与形状[1]=[9100]

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],

在我的管道中,我试图连接字符嵌入和单词嵌入,但是concat操作表示维度不匹配,尽管两个向量都有100列变量

我发现在这里更改字符嵌入的维度会产生不同

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}}]]