Размеры Tensorflow должны быть равны, но не являются InvalidArgumentError 'loss / density_loss / sub' - PullRequest
0 голосов
/ 09 февраля 2020
Traceback (most recent call last):
  File "C:\Users\...\venv\lib\site-packages\tensorflow_core\python\framework\ops.py", line 1619, in _create_c_op
    c_op = c_api.TF_FinishOperation(op_desc)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 72 and 100 for 'loss/dense_loss/sub' (op: 'Sub') with input shapes: [?,72], [?,100].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/.../src/main/start.py", line 188, in <module>
    main()
  File "C:/Users/.../src/main/start.py", line 178, in main
    multi_step_history = multi_step_model.fit(train_data_multi, epochs=epochs, steps_per_epoch=200, validation_data=val_data_multi, validation_steps=50)
  File "C:\...\venv\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 819, in fit
    use_multiprocessing=use_multiprocessing)

Код приведен здесь по большей части: https://github.com/githb-throwaway/tensors/blob/master/src/main/start.py

, но вы также можете полностью клонировать и запускать его локально для целей отладки, просто запустите с параметр конфигурации --env local, поэтому вам не нужно находить ключ API и прочее.

Для локальной работы вам понадобится CUDA 10.1, cudnn-10.1, tenorflow == 2.1.0 и графический процессор с поддержкой CUDA. .

Я невероятно новичок в tenorflow и этих ошибках измерения, поэтому я надеюсь, что это что-то простое, что я упустил из виду.

Этот проект был выполнен после этого урока: https://www.tensorflow.org/tutorials/structured_data/time_series#multi -step_model

1 Ответ

0 голосов
/ 09 февраля 2020

Размеры должны быть равны, но равны 72 и 100 для 'loss / dens_loss / sub' (op: 'Sub') с входными формами: [?, 72], [?, 100] Поскольку ошибка говорит о том, что у вас есть два тензоры формы [?, 72], [?, 100]. Они должны иметь одинаковую форму, либо они оба [?, 72], [?, 72] или [?, 100], [?, 100].

...