Извлечение функций: 0% | | 0/25000 [00:00 - PullRequest
0 голосов
/ 04 августа 2020

import cv2

import numpy as np

import os 

from random import shuffle 

from tqdm import tqdm

​

TRAIN_DIR = '/home/ajmal/Dogs vs cat/train'

TEST_DIR = '/home/ajmal/Dogs vs cat/test'

IMG_SIZE = 50

LR = 1e-3

CNN = 'dogsvscats-{}-{}-model'.format(LR, '2conv-basics')

​

​

def label_img(img):

    word_label = img.split('.')[-3]

    if word_label == 'cat':return[1,0]

    elif word_label == 'dog':return[0,1]

​

    

    

def create_train_data():

    training_data = []

    for img in tqdm(os.listdir(TRAIN_DIR)):

        label = label_img(img)

        path = os.path.join(TRAIN_DIR,img)

        img = cv2.imread(TRAIN_DIR)

        img = cv2.resize(cv2.imread(path,cv2.IMREAD_GRAYSCALE), (IMG_SIZE, IMG_SIZE))

        training_data.append([np.array(img),np.array(label)])

        shuffle(training_data)

        np.save('train_data.npy', training_data)

        return training_data

    

    

def process_test_data():

    testing_data = []

    for img in tqdm(os.listdir(TEST_DIR)):

        path = os.path.join(TEST_DIR,img)

        img_num = img.split('.')[0]

        img = cv2.imread(path,cv2.IMREAD_GRAYSCALE)

        img = cv2.resize(img,(IMG_SIZE,IMG_SIZE))

        testing_data.append([np.array(img),np.array(label)])

        

    shuffle(testing_data)

    np.save('test_data.npy',testing_data)

    return testing_data

​

train_data = create_train_data()

  0%|          | 0/25000 [00:00<?, ?it/s]

1 Ответ

0 голосов
/ 04 августа 2020

У вас ошибка отступа, вы перетасовываете и возвращаете внутри l oop (в create_train_data()). Измените его на:

def create_train_data():

    training_data = []
    for img in tqdm(os.listdir(TRAIN_DIR)):

        label = label_img(img)
        path = os.path.join(TRAIN_DIR,img)

        img = cv2.imread(TRAIN_DIR)
        img = cv2.resize(cv2.imread(path, cv2.IMREAD_GRAYSCALE), (IMG_SIZE, IMG_SIZE))
        training_data.append([np.array(img), np.array(label)])

    shuffle(training_data)
    np.save('train_data.npy', training_data)

    return training_data

(из-за удобочитаемости я бы рекомендовал вам не ставить везде разрывы строк) Я надеюсь, что это решит вашу проблему!

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