{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import tensorflow as tf \nfrom tensorflow import keras\n\no = keras.datasets.fashion_mnist\n(x_train , y_train) , (x_test , y_test) = o.load_data()\n\n\nimport matplotlib.pyplot as plt\n\nplt.imshow(x_train[101] , cmap='gray');\nplt.show()\n\nx_train , x_test = x_train/255 , x_test/255\n\n\n\n\ninit = keras.initializers.GlorotNormal()\n\n# value = init(shape=(2,2))\n# value\n\n# #edit scale and mode in initializer (he , lecun and Glorot)\ninit1 = keras.initializers.variance_scaling(mode='fan_in' , scale=2) \n\nmodel = keras.models.Sequential([\n  keras.layers.Flatten(input_shape =[28 ,28]),\n  keras.layers.Dense(100 , activation = \"relu\" , kernel_initializer=init1),\n  keras.layers.Dense(75 , activation = \"relu\"),\n  keras.layers.Dense(10 , activation = \"softmax\")\n])\n\nprint(model.summary())\n\nweight , bias = model.layers[1].get_weights()\nbias\n\nmodel.compile(\n              loss=\"sparse_categorical_crossentropy\",\n              optimizer=\"sgd\",\n              metrics=[\"accuracy\"]\n              )\n\n#Fit Model\n\nclb = keras.callbacks.ModelCheckpoint('Fasion_Mnist_model.h5' , save_best_only=True)\n\nhistory = model.fit(x_train , y_train , epochs=50 , validation_split = 0.15 , callbacks=[clb])\n\nprint(history.history)\n\n\nfig , ax = plt.subplots(figsize=(10 ,6))\nax.plot(history.history['loss'] , label= \"train loss\")\nax.plot(history.history['accuracy'] , label= \"accuracy\")\nax.plot(history.history['val_loss'] , label= \"val_loss\")\nax.plot(history.history['val_accuracy'] , label= \"val_accuracy\")\nplt.show()\n\n\nax.legend()\n\nprint(model.evaluate(x_test , y_test , verbose=1))\n\nprint(nx = x_test[1:3,:,:])\n\n\nprint(nx.shape)\n\nplt.imshow(nx[0] , cmap='gray')\nplt.show()\n\nprint(model.predict(nx).round(3))\n\nimport numpy as np\n\nprint(np.argmax(model.predict(nx).round(3) , axis=1))\n\nprint(y_test[1:3])\n\n","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19"},"execution_count":null,"outputs":[]}],"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"}}