Как исправить ошибку? "Valueerror: установка элемента массива с последовательностью'
Есть поезд переменная типа list, которая содержит два элемента - массив переменных типа img и массив меток. Мне нужно записать первый массив(imgs) в Икс а затем обработайте его с помощью reshape. Я использовал библиотеку NumPy.
Приведенный ниже код предназначен для понимания того, что именно поезд переменная есть.
training_data.append([np.array(img), np.array(label)]) ... train = train_data[:-500]
Я пытался сделать это двумя способами.
Во первых у меня была ошибка:
TypeError: 'int'Object не поддается подписке
Для второго пути у меня была ошибка:
ValueError: установка элемента массива в виде последовательности
Обновление: код, в котором был создан список обучающих данных. То поезд это срез training_data
def create_train_data(): training_data = [1100] for img in tqdm(os.listdir(TRAIN_DIR)): label = label_img(img) path = os.path.join(TRAIN_DIR, img) training_data.append([np.array(img), np.array(label)]) shuffle(training_data) np.save('train_data.npy', training_data) return training_data train_data = create_train_data() train = train_data[:-500]
Есть то, что дает печать(поезд)
https://ibb.co/RQ0H89r
Что я уже пробовал:
Первый способ:
X = np.array([i[0] for i in train]).reshape(-1, IMG_SIZE, IMG_SIZE, 1)
Второй метод:
MyX=np.asarray( train[0]) X = MyX.reshape(-1, IMG_SIZE, IMG_SIZE, 1)
Richard MacCutchan
Добавьте несколько операторов печати в свой код, чтобы вы могли точно видеть, что находится в поезде, прежде чем пытаться его использовать. Код, который вы показали, является неполным, и мы понятия не имеем, какие данные существуют в любом из массивов.