{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\nimport numpy as np\nimport pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom tensorflow import keras \nfrom tensorflow.python.keras.models import Sequential\nfrom tensorflow.python.keras.layers import Dense, Flatten, Conv2D, Dropout\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n        \nimg_rows=28\nimg_cols=28\nnum_classes=10\n\n\n\ndef prep_data(raw):\n    y = raw[:, 0]\n    out_y = keras.utils.to_categorical(y, num_classes)\n    \n    x = raw[:,1:]\n    num_images = raw.shape[0]\n    out_x = x.reshape(num_images, img_rows, img_cols, 1)\n    out_x = out_x / 255\n    return out_x, out_y\n\n\ndef prep_test_data(raw):\n    x = raw[:,0:]\n    num_images = raw.shape[0]\n    out_x = x.reshape(-1, img_rows, img_cols, 1)\n    out_x = out_x / 255\n    return out_x \n\nraw_data = np.loadtxt('../input/digit-recognizer/train.csv', skiprows=1, delimiter=',')\n#raw_data=pd.read_csv('../input/digit-recognizer/train.csv')\nx,y=prep_data(raw_data)\n\nfrom tensorflow import keras\nfrom tensorflow.keras.models import Sequential\nfrom tensorflow.keras.layers import Dense, Flatten, Conv2D\n\ndigit_model=Sequential()\nprint(\"hi\")\ndigit_model.add(Conv2D(20,kernel_size=(3,3),strides=2,activation='relu', input_shape=(img_rows,img_cols,1)))\ndigit_model.add(Dropout(0.5))\ndigit_model.add(Conv2D(20,kernel_size=(3,3),strides=2,activation='relu'))\n\ndigit_model.add(Conv2D(20,kernel_size=(5,5),strides=4,activation='relu'))\ndigit_model.add(Flatten())\ndigit_model.add(Flatten())\ndigit_model.add(Dense(10000,activation='relu'))\ndigit_model.add(Dense(num_classes,activation='softmax'))\n\n# Your code to compile the model in this cell\ndigit_model.compile(loss = \"categorical_crossentropy\",\n                     optimizer='adam',\n                     metrics=['accuracy'])\n\ndigit_model.fit( x,y,\n         batch_size=57,\n         epochs=3,\n         validation_split=0.2)\n\n\n\n# You can write up to 5GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"from keras.optimizers import RMSprop\ndata_test_path='../input/digit-recognizer/test.csv'\ndigit_test_data=np.loadtxt(data_test_path,skiprows=1,delimiter=',')\nprint(digit_test_data)\n\ntest_data=prep_test_data(digit_test_data)\n\n#digit_train_data=pd.read_csv(data_train_path)\n#digit_train_data=pd.DataFrame(digit_train_data)\nfrom learntools.deep_learning.decode_predictions import decode_predictions\n\npredictions=digit_model.predict(test_data)\npredictions=pd.DataFrame(predictions)\nprint(predictions)\npredictions=np.array(predictions)\nprint(predictions)\nans=pd.DataFrame(columns=['ImageId','Label'])\ncount=0\nfor each in predictions:\n    maximum=0\n    for i in range(0,10):\n        #print(\"each[\",i,\"]=\",each[i])\n        if maximum<each[i]:\n            maximum=each[i]\n            pred=i\n    ans.loc[count]=[count+1,pred]\n    count=count+1\nprint(ans.head())\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(ans)\nans.to_csv('predictions.csv')\n","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}