{"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"},"kaggle":{"accelerator":"none","dataSources":[{"sourceType":"datasetVersion","sourceId":1003830,"datasetId":550917,"databundleVersionId":1032543},{"sourceType":"datasetVersion","sourceId":196452,"datasetId":84954,"databundleVersionId":207662},{"sourceType":"datasetVersion","sourceId":5249665,"datasetId":2329155,"databundleVersionId":5322428}],"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# import os\n# os.environ['CUDA_VISIBLE_DEVICES'] = '-1'\n\nimport tensorflow as tf\nimport pandas as pd\nimport numpy as np\n  \nfrom tensorflow import keras\nfrom keras import layers\nfrom keras.models import Sequential\nfrom keras.layers import Dense\nfrom keras.utils import image_dataset_from_directory\n\ndef process(image,label):\n    image = tf.cast(image/255. ,tf.float32)\n    return image,label\n\ntrain_dir = '/kaggle/input/dogs-vs-cats/train'\ntrain_datagen = image_dataset_from_directory(train_dir,\n                    image_size=(50,50),\n                    seed = 1,\n                    batch_size= 128,\n                    label_mode='binary',\n                    color_mode='grayscale')\ntrain_datagen = train_datagen.map(process)\n\nprint(train_datagen)\n\ntest_dir= '/kaggle/input/dogs-vs-cats/test'\ntest_datagen = image_dataset_from_directory(test_dir, \n                    image_size=(50,50),\n                    seed = 1,\n                    batch_size= 128,\n                    label_mode='binary',\n                    color_mode='grayscale')\ntest_datagen = test_datagen.map(process)\n\n\n### MODIFY ###\nmodel = tf.keras.models.Sequential([\n    layers.Flatten(),\n    layers.Dense(512, activation='LeakyReLU'),\n    layers.Dense(64, activation='LeakyReLU'),\n    layers.Dense(1, activation='sigmoid')\n])\n\nopt = keras.optimizers.Adam(learning_rate=0.005)\n\nmodel.compile(\n    loss='binary_crossentropy',\n    optimizer=opt,\n    metrics=['accuracy']\n)\n\n\nhistory = model.fit(train_datagen,\n          epochs=10,\n          validation_data=test_datagen)","metadata":{"execution":{"iopub.status.busy":"2024-02-11T12:51:27.944841Z","iopub.execute_input":"2024-02-11T12:51:27.945776Z","iopub.status.idle":"2024-02-11T12:54:55.943768Z","shell.execute_reply.started":"2024-02-11T12:51:27.945735Z","shell.execute_reply":"2024-02-11T12:54:55.942804Z"},"trusted":true},"execution_count":null,"outputs":[]}]}