{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"gpuType":"T4","authorship_tag":"ABX9TyNI5Hot7YvpnfOyAeuR2RWx"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"},"accelerator":"GPU"},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"id":"kPgSSE9W4rtI"},"outputs":[],"source":["# crear conjunto de datos"]},{"cell_type":"code","source":["!unzip /content/Ventiladores/ventiladores.zip > /content/dataset"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"V4qsSml440eI","executionInfo":{"status":"ok","timestamp":1701900496495,"user_tz":180,"elapsed":15727,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"2daee638-f86a-4ce8-cc73-ab3d24cc014c"},"execution_count":6,"outputs":[{"output_type":"stream","name":"stdout","text":["replace facebook_sharing_5.png.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y\n"]}]},{"cell_type":"code","source":["! sudo mv *.png *.jpg *.jpeg /content/Ventiladores"],"metadata":{"id":"bVR6m7TCKjUb","executionInfo":{"status":"ok","timestamp":1701900553292,"user_tz":180,"elapsed":567,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":7,"outputs":[]},{"cell_type":"code","source":["! mv /content/Ventiladores & /content/Computadoras > /content/dataset\n"],"metadata":{"id":"ESHOB4hmENud"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["! sudo mv babuino/ dataset/babuino"],"metadata":{"id":"0xOU3bJ6Fyi8"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["! sudo mv jirafa/ dataset/jirafa"],"metadata":{"id":"m54X72hRF5fN","executionInfo":{"status":"ok","timestamp":1701818998058,"user_tz":180,"elapsed":503,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"colab":{"base_uri":"https://localhost:8080/"},"outputId":"8936adbe-efbb-42c4-c4c9-2f2ba33de1c3"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["mv: cannot stat 'jirafa/': No such file or directory\n"]}]},{"cell_type":"code","source":["from tensorflow.keras.preprocessing.image import ImageDataGenerator"],"metadata":{"id":"fA1a6OIaGFI-","executionInfo":{"status":"ok","timestamp":1701900669161,"user_tz":180,"elapsed":2885,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":10,"outputs":[]},{"cell_type":"code","source":["import numpy as np"],"metadata":{"id":"zdwrtVHcF9-z","executionInfo":{"status":"ok","timestamp":1701900671584,"user_tz":180,"elapsed":2,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":11,"outputs":[]},{"cell_type":"code","source":["# crear dataset generador"],"metadata":{"id":"apaTmZE_GPtK"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["datagen= ImageDataGenerator(\n","    # normalizacion de las imagenes\n","    rescale=1. / 255,\n","    #rotacion\n","    rotation_range = 10,\n","    # giro de la imagen\n","    width_shift_range=0.15,\n","    # movimiento hacia arriba\n","    height_shift_range = 0.1,\n","    # deformacion de las imagenes\n","    shear_range = 5,\n","    # acercamiento\n","    zoom_range = [0.7 , 1.3],\n","    # validacion -> porcentaje de las imagenes a ser utilziadas en las pruebas\n","    validation_split= 0.2,\n",")\n","\n","\n"],"metadata":{"id":"I7YeVE3EGSJK","executionInfo":{"status":"ok","timestamp":1701900677338,"user_tz":180,"elapsed":3,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":12,"outputs":[]},{"cell_type":"code","source":["# datos entrenamiento y datos de prueba\n","\n","data_gen_entrenamiento = datagen.flow_from_directory(\"/content/dataset\",\n","                                                    target_size=(224,224),\n","                                                    batch_size=32 , shuffle=True,\n","                                                     subset=\"training\"\n","                                                     )\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"vQb50zmFHp0e","executionInfo":{"status":"ok","timestamp":1701900686054,"user_tz":180,"elapsed":269,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"63e40eb3-4e5c-4215-c67e-13201e8bf625"},"execution_count":13,"outputs":[{"output_type":"stream","name":"stdout","text":["Found 101 images belonging to 2 classes.\n"]}]},{"cell_type":"code","source":["\n","data_gen_pruebas = datagen.flow_from_directory(\"/content/dataset\",\n","                                                    target_size=(224,224),\n","                                                    batch_size=32 , shuffle=True,\n","                                                     subset=\"validation\"\n","                                                     )"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Z-y0sR2bITFE","executionInfo":{"status":"ok","timestamp":1701900690065,"user_tz":180,"elapsed":5,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"2a16553f-2b45-4904-cbd2-57af1094391e"},"execution_count":14,"outputs":[{"output_type":"stream","name":"stdout","text":["Found 24 images belonging to 2 classes.\n"]}]},{"cell_type":"code","source":["import matplotlib.pyplot as plt\n","\n","for imagenes , etiqueta in data_gen_entrenamiento:\n","  for i in range(10):\n","    plt.subplot(2,5,i+1)\n","    plt.imshow(imagenes[1])\n","  break\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":390},"id":"FBKnfvziIThI","executionInfo":{"status":"ok","timestamp":1701900700497,"user_tz":180,"elapsed":1439,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"ba0f5ef8-6d6a-45cc-8cdc-08d72d66c426"},"execution_count":15,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 10 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["import tensorflow as tf\n","import tensorflow_hub as hub\n","\n","url = \"https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4\"\n","mobilenetv2 = hub.KerasLayer(url , input_shape=(224,224,3))\n"],"metadata":{"id":"fdaD7nNcIpMg","executionInfo":{"status":"ok","timestamp":1701901070189,"user_tz":180,"elapsed":1007,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":25,"outputs":[]},{"cell_type":"code","source":["# importante -> congelar las capas\n","# evitar el sobre entrenamiento del modelo descargado de google\n","mobilenetv2.trainable = False"],"metadata":{"id":"3MznYdJkMg7l","executionInfo":{"status":"ok","timestamp":1701901072972,"user_tz":180,"elapsed":3,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":26,"outputs":[]},{"cell_type":"code","source":["# creacion del modelo en base al de google\n","modelo = tf.keras.Sequential([\n","    mobilenetv2,\n","    tf.keras.layers.Dense(units=100),\n","    tf.keras.layers.Dense(units=100),\n","    tf.keras.layers.Dense(2 , activation=\"softmax\")\n","\n","])"],"metadata":{"id":"gjUEwU7GNhmH","executionInfo":{"status":"ok","timestamp":1701901117127,"user_tz":180,"elapsed":5,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":28,"outputs":[]},{"cell_type":"code","source":["modelo.compile(\n","    optimizer=\"adam\",\n","    loss=\"categorical_crossentropy\",\n","    metrics=[\"accuracy\"],\n",")"],"metadata":{"id":"BsARwowEOAG7","executionInfo":{"status":"ok","timestamp":1701901119807,"user_tz":180,"elapsed":2,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":29,"outputs":[]},{"cell_type":"code","source":["EPOCAS = 20\n","entrenamiento = modelo.fit(\n","    data_gen_entrenamiento,\n","    epochs=EPOCAS,\n","    batch_size = 32,\n","    validation_data = data_gen_pruebas\n",")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7FMt5cx3OWNr","executionInfo":{"status":"ok","timestamp":1701901183266,"user_tz":180,"elapsed":60790,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"26d8fdf7-6547-4062-e36e-06496bbd0b5e"},"execution_count":30,"outputs":[{"output_type":"stream","name":"stdout","text":["Epoch 1/20\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - ETA: 0s - loss: 1.4060 - accuracy: 0.6337"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n","/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 7s 682ms/step - loss: 1.4060 - accuracy: 0.6337 - val_loss: 1.1179 - val_accuracy: 0.5000\n","Epoch 2/20\n","1/4 [======>.......................] - ETA: 1s - loss: 1.0500 - accuracy: 0.5625"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 595ms/step - loss: 1.0861 - accuracy: 0.5842 - val_loss: 0.9222 - val_accuracy: 0.5833\n","Epoch 3/20\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["2/4 [==============>...............] - ETA: 0s - loss: 0.3390 - accuracy: 0.8919"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 601ms/step - loss: 0.4899 - accuracy: 0.8218 - val_loss: 1.1148 - val_accuracy: 0.6667\n","Epoch 4/20\n","1/4 [======>.......................] - ETA: 0s - loss: 0.0131 - accuracy: 1.0000"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r2/4 [==============>...............] - ETA: 0s - loss: 0.4684 - accuracy: 0.8378"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 493ms/step - loss: 0.5889 - accuracy: 0.8119 - val_loss: 0.7661 - val_accuracy: 0.5833\n","Epoch 5/20\n","2/4 [==============>...............] - ETA: 0s - loss: 0.0930 - accuracy: 0.9730"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 546ms/step - loss: 0.2613 - accuracy: 0.8812 - val_loss: 1.0604 - val_accuracy: 0.5000\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["Epoch 6/20\n","2/4 [==============>...............] - ETA: 1s - loss: 0.4185 - accuracy: 0.7969"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.4010 - accuracy: 0.8218"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 2s 451ms/step - loss: 0.4010 - accuracy: 0.8218 - val_loss: 0.7535 - val_accuracy: 0.5833\n","Epoch 7/20\n","3/4 [=====================>........] - ETA: 0s - loss: 0.2684 - accuracy: 0.8841"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.3426 - accuracy: 0.8416"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 3s 635ms/step - loss: 0.3426 - accuracy: 0.8416 - val_loss: 0.7650 - val_accuracy: 0.6667\n","Epoch 8/20\n","2/4 [==============>...............] - ETA: 1s - loss: 0.3247 - accuracy: 0.8750"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n","/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.3437 - accuracy: 0.8713"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 4s 939ms/step - loss: 0.3437 - accuracy: 0.8713 - val_loss: 0.7574 - val_accuracy: 0.7083\n","Epoch 9/20\n","4/4 [==============================] - ETA: 0s - loss: 0.2633 - accuracy: 0.8614"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 3s 611ms/step - loss: 0.2633 - accuracy: 0.8614 - val_loss: 0.9748 - val_accuracy: 0.5833\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["Epoch 10/20\n","2/4 [==============>...............] - ETA: 0s - loss: 0.4512 - accuracy: 0.8108"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 481ms/step - loss: 0.3047 - accuracy: 0.8515 - val_loss: 0.6240 - val_accuracy: 0.7083\n","Epoch 11/20\n","2/4 [==============>...............] - ETA: 1s - loss: 0.1430 - accuracy: 0.9375"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 3s 663ms/step - loss: 0.2041 - accuracy: 0.8911 - val_loss: 0.7710 - val_accuracy: 0.6667\n","Epoch 12/20\n","1/4 [======>.......................] - ETA: 1s - loss: 0.2757 - accuracy: 0.8438"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n","/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 379ms/step - loss: 0.2566 - accuracy: 0.8713 - val_loss: 0.7065 - val_accuracy: 0.6667\n","Epoch 13/20\n","3/4 [=====================>........] - ETA: 0s - loss: 0.1696 - accuracy: 0.9275"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.2146 - accuracy: 0.9109"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 2s 463ms/step - loss: 0.2146 - accuracy: 0.9109 - val_loss: 0.7602 - val_accuracy: 0.5417\n","Epoch 14/20\n","4/4 [==============================] - 2s 451ms/step - loss: 0.2082 - accuracy: 0.9109 - val_loss: 0.7276 - val_accuracy: 0.7083\n","Epoch 15/20\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["3/4 [=====================>........] - ETA: 0s - loss: 0.1590 - accuracy: 0.9167"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n","/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.1603 - accuracy: 0.9109"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 2s 441ms/step - loss: 0.1603 - accuracy: 0.9109 - val_loss: 0.8428 - val_accuracy: 0.6667\n","Epoch 16/20\n","4/4 [==============================] - 2s 564ms/step - loss: 0.2661 - accuracy: 0.8713 - val_loss: 0.8954 - val_accuracy: 0.6250\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["Epoch 17/20\n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - ETA: 0s - loss: 0.2476 - accuracy: 0.8812"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n","/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 3s 792ms/step - loss: 0.2476 - accuracy: 0.8812 - val_loss: 0.8608 - val_accuracy: 0.5417\n","Epoch 18/20\n","1/4 [======>.......................] - ETA: 1s - loss: 0.2128 - accuracy: 0.8750"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 554ms/step - loss: 0.3182 - accuracy: 0.8614 - val_loss: 0.9143 - val_accuracy: 0.6250\n","Epoch 19/20\n","1/4 [======>.......................] - ETA: 0s - loss: 0.2088 - accuracy: 0.8000"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["3/4 [=====================>........] - ETA: 0s - loss: 0.2257 - accuracy: 0.8841"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["4/4 [==============================] - 2s 572ms/step - loss: 0.2089 - accuracy: 0.9010 - val_loss: 0.7905 - val_accuracy: 0.6250\n","Epoch 20/20\n","3/4 [=====================>........] - ETA: 0s - loss: 0.1996 - accuracy: 0.9275"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - ETA: 0s - loss: 0.2304 - accuracy: 0.9010"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.10/dist-packages/PIL/Image.py:996: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n","  warnings.warn(\n"]},{"output_type":"stream","name":"stdout","text":["\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\r4/4 [==============================] - 2s 421ms/step - loss: 0.2304 - accuracy: 0.9010 - val_loss: 0.8490 - val_accuracy: 0.6250\n"]}]},{"cell_type":"code","source":["from PIL import Image\n","import cv2\n","\n","\n","def categorizar(ruta):\n","  img = Image.open(ruta)\n","  img = img.convert(\"RGB\")\n","  img = np.array(img).astype(float)/255\n","  img = cv2.resize(img , (224,224))\n","  prediccion = modelo.predict(img.reshape(-1, 224,224,3))\n","  return np.argmax(prediccion[0] , axis=-1)"],"metadata":{"id":"JNIq-nx0PMEI","executionInfo":{"status":"ok","timestamp":1701901227008,"user_tz":180,"elapsed":8,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}}},"execution_count":34,"outputs":[]},{"cell_type":"code","source":["ruta = input(\"indique donde se encuentra el archivo de imagen : \\n\" )\n","prediccion = categorizar(ruta)\n","if prediccion == 1:\n","  print(\"La imagen analizada corresponde a una Jirafa\")\n","elif prediccion == 0:\n","  print(\"La imagen analizada corresponde a un babuino\")\n","else:\n","  print(\"el archivo no se encontró\")"],"metadata":{"id":"fik5hKIfTQA1","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1701901237512,"user_tz":180,"elapsed":6522,"user":{"displayName":"Horacio Laphitz","userId":"05970776226255252387"}},"outputId":"f55801a3-a3fa-4a49-93d6-899c263f21e5"},"execution_count":35,"outputs":[{"output_type":"stream","name":"stdout","text":["indique donde se encuentra el archivo de imagen : \n","ventilador.jpg\n","1/1 [==============================] - 0s 454ms/step\n"]}]}]}