Вы передаете значения reshape
, которые не относятся к типу int
:
x_train = x_train.reshape(x_train[0], x_train[1], x_train[2], 1)
Здесь, например, x_train[0]
должен иметь тип int (и остальные). Если вы хотите использовать их форму вместо их значений, используйте:
x_train = x_train.reshape(x_train.shape[0], x_train.shape[1], x_train.shape[2], 1)
В противном случае у вас есть два варианта:
Если вы знаете значения в x_train
, x_test
и x_validation
являются целыми числами, установите для их типа dtype значение int
(и убедитесь, что он остается неизменным во время операций ML:
x_train = np.array(list(map(preprocess, x_train)), dtype=np.int)
x_test = np.array(list(map(preprocess, x_test)), dtype=np.int)
x_validation = np.array(list(map(preprocess, x_validation)), dtype=np.int)
Если они нужны быть float
, но хотите назвать их как int
, используйте:
x_train = x_train.reshape(int(x_train[0]), int(x_train[1]), int(x_train[2]), 1)