ValueError в TensorFlow - PullRequest
       45

ValueError в TensorFlow

0 голосов
/ 03 ноября 2019

Таким образом, я столкнулся с некоторыми проблемами с TensorFlow при запуске этой строки кода:

history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)

Трассировка выглядит следующим образом:

Traceback (most recent call last):
  File "cnnmodel.py", line 71, in <module>
    history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)
  File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
    use_multiprocessing=use_multiprocessing)
  File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 224, in fit
    distribution_strategy=strategy)
  File "C:\Uslow_core\python\keras\engine\training_v2.py", line 497, in _process_training_inputs
    adapter_cls = data_adapter.select_data_adapter(x, y)
  File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\data_adapter.py", line 653, in select_data_adapter
    _type_name(x), _type_name(y)))
ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})

X данные представляют собой массив пикселейзначения и данные Y представляют собой список меток.

Данные X и Y были переформатированы с использованием pickle и ...

import pickle
import numpy

X = pickle.load(open("X.pickle", "rb"))
y = pickle.load(open("y.pickle", "rb"))

print(X[0][0:64])
print(y[0:10])

Получено:

[[[2]
  [2]
  [2]
  ...
  [1] 
  [1]
  [1]]

 [[2]
  [2]
  [2]
  ...
  [1]
  [1]
  [1]]

 [[2]
  [2]
  [2]
  ...
  [1]
  [1]
  [1]]

 ...

 [[0]
  [0]
  [0]
  ...
  [0]
  [0]
  [0]]

 [[0]
  [0]
  [0]
  ...
  [0]
  [0]
  [0]]

 [[0]
  [0]
  [0]
  ...
  [0]
  [0]
  [0]]]
[3, 3, 0, 0, 3, 4, 3, 1, 4, 4]

Любые идеио том, как решить проблему?

1 Ответ

1 голос
/ 04 ноября 2019

Я решил это. Оказывается, входные данные должны быть того же типа. Перед травлением я просто передал данные y через: y = numpy.array(y). Теперь он работает, и я тренирую свою первую модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...