#resize #cv2 #mnist
#изменение размера #cv2 #мнист
Вопрос:
Я пытаюсь создать программу распознавания рукописных цифр с помощью машинного обучения. Как следует из названия, я хочу просто изменить размер набора данных mnist с помощью библиотеки cv2. И я хочу, чтобы изменение размера было выполнено до нормализации данных, чтобы именно измененные данные проходили через мою модель ANN (искусственная нейронная сеть). Но я не совсем уверен, как это сделать, это код, который у меня есть:
model.add = modell
train = keras.utils.normalize(train)
test = keras.utils.normalize(test)
model=Sequential()
modell(Flatten())
modell(Dense(200, activation='sigmoid'))
modell(Dense(200, activation='sigmoid'))
modell(Dense(10, activation="sigmoid"))
model.fit(img, lab, epochs=1)
print(model.evaluate(test, test))
pred = model.predict(test[:1])
p=np.argmax(pred, axis=1)
print("Machine", p)
print("Correct", test[:1])
Я попытался включить это в свой код непосредственно перед нормализацией моих данных:
for i in train_img:
photo = cv2.reshape(train_img[i] 19 19)
img.append(photo)
Но это дает мне такую ошибку:
Ошибка типа: объект ‘tuple’ не вызывается
Как мне это сделать?
Ответ №1:
в вашем коде я в train_img. Поэтому i является изображением и не может использоваться в качестве индекса, поэтому попробуйте это
new_train_img = []
for img in train_img:
new_train.append(cv2.resize(img,(14,14)))