Я пытаюсь выполнить простую задачу классификации собак и кошек с набором данных, загруженным из inte rnet. Я пытаюсь создать набор данных на основе значений категорий и пытаюсь добавить изображения с индексом категории.
Однако результирующий список пуст, и я не уверен, почему.
import numpy as np
import os
import cv2
from tqdm import tqdm
DATADIR = "C:/Users/PycharmProjects/tensorenv/PetImages"
CATEGORIES = ["Dog", "Cat"]
def create_training_data():
for category in CATEGORIES: # do dogs and cats
path = os.path.join(DATADIR, category) # create path to dogs and cats
class_num = CATEGORIES.index(category) # get the classification (0 or a 1). 0=dog 1=cat
for img in tqdm(os.listdir(path)): # iterate over each image per dogs and cats
try:
img_array = cv2.imread(os.path.join(path, img), cv2.IMREAD_GRAYSCALE) # convert to array
new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE)) # resize to normalize data size
training_data = training_data.append([new_array, class_num]) # add this to our training_data but it comes out empty
except Exception as e: # in the interest in keeping the output clean...
pass
create_training_data()
Проблема в том, что список training_data пуст и не хранит ничего
Вывод
100%|██████████| 12501/12501 [02:03<00:00, 101.39it/s]
100%|██████████| 12501/12501 [02:39<00:00, 78.58it/s]
[]
Corrupt JPEG data: 399 extraneous bytes before marker 0xd9
Corrupt JPEG data: 226 extraneous bytes before marker 0xd9
Corrupt JPEG data: 162 extraneous bytes before marker 0xd9
Warning: unknown JFIF revision number 0.00
Corrupt JPEG data: 1403 extraneous bytes before marker 0xd9
Corrupt JPEG data: 254 extraneous bytes before marker 0xd9
Corrupt JPEG data: 2230 extraneous bytes before marker 0xd9
Corrupt JPEG data: 65 extraneous bytes before marker 0xd9
Corrupt JPEG data: 239 extraneous bytes before marker 0xd9
Corrupt JPEG data: 214 extraneous bytes before marker 0xd9
Corrupt JPEG data: 128 extraneous bytes before marker 0xd9
Corrupt JPEG data: 99 extraneous bytes before marker 0xd9
Corrupt JPEG data: 1153 extraneous bytes before marker 0xd9
Process finished with exit code 0