{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"#Importar paquetes\n\nimport cv2\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport matplotlib.pyplot as plt \n%matplotlib inline\n\n\n# Para ver nuestro directorio \n\nimport os\nimport random\nimport gc #Para limpiar memoria\n\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2021-05-26T21:12:48.584831Z","iopub.execute_input":"2021-05-26T21:12:48.585341Z","iopub.status.idle":"2021-05-26T21:12:48.759225Z","shell.execute_reply.started":"2021-05-26T21:12:48.585244Z","shell.execute_reply":"2021-05-26T21:12:48.758037Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_dir = '../input/dogs-vs-cats-redux-kernels-edition/train.zip'\ntest_dir = '../input/dogs-vs-cats-redux-kernels-edition/test.zip'\n\ntrain_dog = ['../input/dogs-vs-cats-redux-kernels-edition/train.zip/{}'.format(i) for i in os.listdir(train_dir) if 'dog' in i] #obtener imagenes de perro\ntrain_cat = ['../input/dogs-vs-cats-redux-kernels-edition/train.zip/{}'.format(i) for i in os.listdir(train_dir) if 'cat' in i] #obtener imagenes de gato\n\ntest_img = ['../input/dogs-vs-cats-redux-kernels-edition/test.zip/{}'.format(i) for i in os.listdir(test_dir)] #obtener imagenes de prueba\n\ntrain_img = train_dog[:2000] + train_cat[:2000] #llenar el dataset de imagenes de cada uno (2000)\nrandom.shuffle(train_img) #barajear las imagenes de manera aleatoria \n\n#limpiar listas que ya no se usan \ndel train_dog\ndel train_cat\ngc.collect() #Colectar basura para guardar memoria \n","metadata":{"execution":{"iopub.status.busy":"2021-05-26T21:12:48.760696Z","iopub.execute_input":"2021-05-26T21:12:48.761043Z","iopub.status.idle":"2021-05-26T21:12:48.836256Z","shell.execute_reply.started":"2021-05-26T21:12:48.761009Z","shell.execute_reply":"2021-05-26T21:12:48.834563Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Para ver algunas imagenes de perritos y gatitos jaja \nimport matplotlib.image as mpimg\nfor ima in train_img[0:3]:\n    img = mpimg.imread(ima)\n    imgplot = plt.imshow(img)\n    plt.show()\n    ","metadata":{"execution":{"iopub.status.busy":"2021-05-26T21:05:59.922079Z","iopub.execute_input":"2021-05-26T21:05:59.922469Z","iopub.status.idle":"2021-05-26T21:05:59.937890Z","shell.execute_reply.started":"2021-05-26T21:05:59.922434Z","shell.execute_reply":"2021-05-26T21:05:59.936788Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Declarar las nuevas dimensiones de las imagenes para estandarizarlas\nnrows = 150\nncolums = 150\nchannels = 3 \n#Son 3 canales ya que usamos imagenes a color, porque lo que sabemos que se componen de RGB","metadata":{"execution":{"iopub.status.busy":"2021-05-26T21:02:03.343472Z","iopub.execute_input":"2021-05-26T21:02:03.343963Z","iopub.status.idle":"2021-05-26T21:02:03.349321Z","shell.execute_reply.started":"2021-05-26T21:02:03.343916Z","shell.execute_reply":"2021-05-26T21:02:03.348143Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Funcion para leer y procesar las imagenes \ndef read_and_process_image(list_of_images):\n\n    X = [] #Arreglo de imagenes\n    Y = [] #Arreglo de etiquetas\n\n    for image in list_of_images:\n        X.append(cv2.resize(cv2.imread(image, cv2.IMREAD_COLOR), (nrows,ncolums), interpolation=cv2.INTER_CUBIC)) #leer la imagen\n        #obtener etiquetas\n        if 'dog' in image:\n            Y.append(1)\n        if 'cat' in image:\n            Y.append(0)\n        \n        \nreturn X,Y","metadata":{"execution":{"iopub.status.busy":"2021-05-26T21:02:12.053906Z","iopub.execute_input":"2021-05-26T21:02:12.054260Z","iopub.status.idle":"2021-05-26T21:02:12.061650Z","shell.execute_reply.started":"2021-05-26T21:02:12.054229Z","shell.execute_reply":"2021-05-26T21:02:12.060304Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}