{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"9a9fbc5c-6ac4-6d3c-73a8-59d361b675fd"},"outputs":[],"source":"import cv2                 # working with, mainly resizing, images\nimport numpy as np         # dealing with arrays\nimport os                  # dealing with directories\nfrom random import shuffle # mixing up or currently ordered data that might lead our network astray in training.\nfrom tqdm import tqdm      # a nice pretty percentage bar for tasks. Thanks to viewer Daniel BA1/4hler for this suggestion\n\nTRAIN_DIR = 'C:/Users/jagrati.shivhare.ITLINFOSYS/Desktop/train/train'\nTEST_DIR = 'C:/Users/jagrati.shivhare.ITLINFOSYS/Desktop/test/test'\nIMG_SIZE = 50\nLR = 1e-3\n\nMODEL_NAME = 'dogsvscats-{}-{}.model'.format(LR, '2conv-basic') # just so we remember which saved model is which, sizes must match"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"74413762-f7fb-5c76-1925-b9d864192522"},"outputs":[],"source":"def label_img(img):\n    word_label = img.split('.')[-3]\n    # conversion to one-hot array [cat,dog]\n    #                            [much cat, no dog]\n    if word_label == 'cat': return [1,0]\n    #                             [no cat, very doggo]\n    elif word_label == 'dog': return [0,1]"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"015170e5-a142-4894-f5ae-b069fd2b4f64"},"outputs":[],"source":"def create_train_data():\n    training_data = []\n    for img in tqdm(os.chdir(TRAIN_DIR)):\n        label = label_img(img)\n        path = os.path.join(TRAIN_DIR,img)\n        img = cv2.imread(path,cv2.IMREAD_GRAYSCALE)\n        img = cv2.resize(img, (IMG_SIZE,IMG_SIZE))\n        training_data.append([np.array(img),np.array(label)])\n    shuffle(training_data)\n    np.save('C:/Users/jagrati.shivhare.ITLINFOSYS/Desktop/train_data.npy', training_data)\n    return training_data"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"36353883-d0cc-6abd-7b25-854d065710fd"},"outputs":[],"source":"def process_test_data():\n    testing_data = []\n    for img in tqdm(os.listdir(TEST_DIR)):\n        path = os.path.join(TEST_DIR,img)\n        img_num = img.split('.')[0]\n        img = cv2.imread(path,cv2.IMREAD_GRAYSCALE)\n        img = cv2.resize(img, (IMG_SIZE,IMG_SIZE))\n        testing_data.append([np.array(img), img_num])\n        \n    shuffle(testing_data)\n    np.save('C:/Users/jagrati.shivhare.ITLINFOSYS/Desktop/test_data.npy', testing_data)\n    return testing_data"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"b42317b2-aa55-4273-0f65-7f14daaf3bec"},"outputs":[],"source":"train_data = create_train_data()\n# If you have already created the dataset:\n#train_data = np.load('train_data.npy')"}],"metadata":{"_change_revision":0,"_is_fork":false,"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.0"}},"nbformat":4,"nbformat_minor":0}