在 这行代码: estimator.train(input_fn=train_input_fn, max_steps=num_train_steps) 出错
在是什么原因造成的?看到类别数是动态的,没有写死?
报错内容如下:
W0226 11:32:03.210905 15596 error_handling.py:135] Reraising captured error
Traceback (most recent call last):
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1607, in _create_c_op
c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension size must be evenly divisible by 1408 but is 24576 for 'loss/Reshape_1' (op: 'Reshape') with input shapes: [4096,6], [3] and with input tensors computed as partial shapes: input[1] = [?,128,11].
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 865, in
tf.app.run()
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\platform\app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\absl\app.py", line 299, in run
_run_main(main, args)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\absl\app.py", line 250, in _run_main
sys.exit(main(argv))
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 748, in main
estimator.train(input_fn=train_input_fn, max_steps=num_train_steps)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3035, in train
rendezvous.raise_errors()
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\error_handling.py", line 136, in raise_errors
six.reraise(typ, value, traceback)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\six.py", line 703, in reraise
raise value
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3030, in train
saving_listeners=saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 370, in train
loss = self._train_model(input_fn, hooks, saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1161, in _train_model
return self._train_model_default(input_fn, hooks, saving_listeners)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1191, in _train_model_default
features, labels, ModeKeys.TRAIN, self.config)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 2857, in _call_model_fn
config)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py", line 1149, in _call_model_fn
model_fn_results = self._model_fn(features=features, **kwargs)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 3126, in _model_fn
features, labels, is_export_mode=is_export_mode)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 1663, in call_without_tpu
return self._call_model_fn(features, labels, is_export_mode=is_export_mode)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_estimator\python\estimator\tpu\tpu_estimator.py", line 1994, in _call_model_fn
estimator_spec = self._model_fn(features=features, **kwargs)
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 493, in model_fn
num_labels, use_one_hot_embeddings)
File "F:/IdeaProjects/albert-chinese-ner/albert_ner.py", line 452, in create_model
logits = tf.reshape(logits, [-1, FLAGS.max_seq_length, 11])
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\ops\array_ops.py", line 131, in reshape
result = gen_array_ops.reshape(tensor, shape, name)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\ops\gen_array_ops.py", line 8114, in reshape
"Reshape", tensor=tensor, shape=shape, name=name)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\op_def_library.py", line 794, in _apply_op_helper
op_def=op_def)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\util\deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3357, in create_op
attrs, op_def, compute_device)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 3426, in _create_op_internal
op_def=op_def)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1770, in init
control_input_ops)
File "C:\Users\root\Anaconda3\envs\albert\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1610, in _create_c_op
raise ValueError(str(e))
ValueError: Dimension size must be evenly divisible by 1408 but is 24576 for 'loss/Reshape_1' (op: 'Reshape') with input shapes: [4096,6], [3] and with input tensors computed as partial shapes: input[1] = [?,128,11].