{"cells":[{"metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","trusted":true},"cell_type":"code","source":"import numpy as np \nimport pandas as pd\nimport os\nfrom keras.applications import InceptionV3\nfrom keras.models import Sequential\nfrom keras.layers import Dense, Flatten, GlobalAveragePooling2D, Activation, Flatten, Dropout, BatchNormalization\nfrom keras import optimizers, regularizers\nfrom keras.applications import Xception\nfrom keras.optimizers import sgd","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"1395387c3341d53e9ca207245c9d8ff8d5492f10","trusted":true},"cell_type":"code","source":"df=pd.read_csv('../input/labels.csv')\ntest_df=pd.read_csv('../input/sample_submission.csv')\nimage_size = 299","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"78cba25909a86a4d574e699d4e95b1062f5db538","trusted":true},"cell_type":"code","source":"num_class = 120\nmodel = Sequential()\nmodel.add(InceptionV3(weights='imagenet', include_top=False,pooling='avg'))\nmodel.add(Dense(512, activation='relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(num_class, activation='softmax'))\nmodel.layers[0].trainable = False\nmodel.compile(optimizer='sgd',loss='categorical_crossentropy', \n              metrics=['accuracy'])\n","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"bd6ed38f62089f7dd93a428b28cb15e98916b547","trusted":true},"cell_type":"code","source":"from tensorflow.python.keras.applications.inception_v3 import preprocess_input\nfrom keras.preprocessing.image import ImageDataGenerator\ndatagen = ImageDataGenerator(preprocessing_function=preprocess_input, rescale=1./255., horizontal_flip=True,width_shift_range = 0.2,height_shift_range = 0.2,validation_split=0.15)\n\ntrain_generator=datagen.flow_from_dataframe(dataframe=df,directory=\"../input/train/\",x_col=\"id\",y_col=\"breed\",has_ext=False,subset=\"training\",batch_size=16,seed=1997,shuffle=True,class_mode=\"categorical\",target_size=(image_size, image_size))\n\nvalid_generator=datagen.flow_from_dataframe(dataframe=df,directory=\"../input/train/\",x_col=\"id\",y_col=\"breed\",has_ext=False,subset=\"validation\",batch_size=1,seed=1997,shuffle=True,class_mode=\"categorical\",target_size=(image_size, image_size))\n\ntest_datagen=ImageDataGenerator(preprocessing_function=preprocess_input,rescale=1./255.)\n\ntest_generator=test_datagen.flow_from_dataframe(dataframe=test_df,directory=\"../input/test/\",x_col=\"id\",y_col=None,has_ext=False,batch_size=1,seed=42,shuffle=False,class_mode=None,target_size=(image_size, image_size))","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"1ae05aa2a5f25d39d576d2e1ef10a02b5b158d5d","trusted":true},"cell_type":"code","source":"model.fit_generator(generator=train_generator,\n                    steps_per_epoch=train_generator.n,\n                    validation_data=valid_generator,\n                    validation_steps=train_generator.n,\n                    epochs=1)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"4a22b0a2c1e2173fd9327abf4dd78f58acf00ac0","trusted":true},"cell_type":"code","source":"pred=model.predict_generator(test_generator,steps=10357,verbose=1)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"05d7c646e1685870d859c113518de36ef3aae0b9","scrolled":true,"trusted":true},"cell_type":"code","source":"labels = (train_generator.class_indices)\nlabels = list(labels.keys())\ndf = pd.DataFrame(data=pred,\n                 columns=labels)\n\ncolumns = list(df)\ncolumns.sort()\ndf = df.reindex(columns=columns)\n\nfilenames = test_df[\"id\"]\ndf[\"id\"]  = filenames\n\ncols = df.columns.tolist()\ncols = cols[-1:] + cols[:-1]\ndf = df[cols]\ndf.head(5)\n\ndf.to_csv(\"submission.csv\",index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e88488c3cd0e8b78ad46bb807dc3d3a4fb4ab3c9"},"cell_type":"code","source":"df","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}