Python: Как классифицировать немаркированные изображения и сохранять в папки классов? - PullRequest
0 голосов
/ 06 июля 2019

Я обучил CNN и пытаюсь предсказать новые невидимые (немаркированные) изображения из папки. Я пытаюсь предсказать их на 2 класса (положительный, отрицательный), используя ниже:

test_dir = '/path/to/test-set'
test_imgs = ['/path/to/test-set/{}'.format(i) for i in os.listdir(test_dir)]

def read_and_process_image(list_of_images):

    X = []

    for image in list_of_images:
        X.append(cv2.resize(cv2.imread(image, cv2.IMREAD_COLOR), (299, 299), interpolation=cv2.INTER_CUBIC))

    return X


X_test = read_and_process_image(test_imgs[0:10])
x = np.array(X_test)
test_datagent = ImageDataGenerator(rescale=1./255)

Я не могу понять, как сохранить все предсказанные изображения в цикле в соответствующие папки классов ('neg' или 'pos'). Кроме того, когда я рисую их, я вижу, что синий цвет больше проявляется в предсказанных изображениях, и я не уверен, будут ли они сохранены в голубоватом формате.

class_names = ['neg','pos']
i = 0
text_labels = []
plt.figure(figsize=(30,20))
for batch in test_datagent.flow(x, batch_size=1):
    pred = new_model.predict(batch)
    for j in range(len(batch)):
        plt.imsave("/path/to/save-folder/ {}.jpg",batch[0])
        plt.subplot(5 / 5 + 1, 5, i+1)
        plt.title(class_names[np.argmax(pred[j])])
        imgplot = plt.imshow(batch[0])
        i +=1
        if i % 10 == 0:
             break
plt.show() 

Я действительно не знаю, как поступить с этого момента, и любая помощь будет принята с благодарностью.

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