インポートNPとしてnumpyの から keras.datasetsはインポートmnistを から keras.utils インポートnp_utilsを から keras.models インポートシーケンシャル から keras.layers インポート高密度、ドロップアウト、Convolution2D、MaxPooling2Dは、平ら から keras.optimizers インポートアダム から keras.utils.vis_utils インポートplot_model 輸入PLTのようmatplotlib.pyplot 位PYDOTとgraphvizのインストール
1つの #負荷データ 2(x_train、y_train)、(x_test、android.permission.FACTOR。)= Mnist.load_data() 3。 #(60000,28,28) - >(60000,28,28,1) 。4 x_train x_train.reshape(= -1,28,28,1)/255.0 。5 x_test = x_test.reshape(-1,28,28,1)/255.0 。6 #トランスデューサワンホット形式 。7 y_train = np_utils.to_categorical(y_train、num_classes = 10 ) 。8 android.permission.FACTOR。 np_utils.to_categorical =(android.permission.FACTOR。、num_classes = 10 ) 。9 10 位シーケンシャルモデルを定義する 。11モデル= シーケンシャル() 12は 13である #最初の畳み込み層 14 #入力面input_shape 15の #のフィルタコンボリューションカーネル/フィルタ番号 16 #のkernel_size畳み込みウィンドウサイズ 。17の #のストライドは、ステップ 18で #1 パディングパディングが有効/同実施形態 。19 #の活性化は活性化機能 20はれる model.add(Convolution2D( 21は input_shape(= 28,28,1 )、 22は フィルター= 32 、 23である kernel_size = 5 、 24 ストライドの= 1 、 25 パディング= ' と同じ' 、 26は、 アクティベーション= ' RELU ' 、 27 名= ' CONV1 ' 28 )) 29 #最初のセル層 30 model.add(MaxPooling2D( 31は POOL_SIZE = 2 、 32の ストライド= 2 、 33は =パディング' と同じ' 、 34は NAME = ' POOL1 ' 35 )) 36 #第畳み込み層 37 model.add(Convolution2D(64,5、ストライド= 1、パディング= ' と同じ'、アクティベーション= ' RELU '、NAME = ' CONV2' )) 38 #第2セル層 39 model.add(MaxPooling2D(2,2&、' 同じ'NAME = ' POOL2は' )) 40 位フラット寸法に第二の細胞層を出力 41 model.add(平坦化()) 42である #最初完全接続層 43をれる model.add(高密度(1024、アクティベーション= ' RELU ' )) 44である #ドロップアウト 45 model.add(ドロップアウト(0.5 )) 46である #第完全接続層 47 model.add(高密度(10、アクティベーション= ' のSoftMax ' )) 48 49 ##オプティマイザ定義 50 #1 =アダム(= 1E-LR 4)ADAMが 51である 52である #1 #はオプティマイザ、損失関数を定義し、トレーニングプロセスの計算精度 53は #1 model.compile(= ADAMオプティマイザ、損失= 'categorical_crossentropy' 、メトリック= [ '精度']) 54が 55 ##トレーニングモデル 56れる #1 model.fit(x_train、y_train、BATCH_SIZE = 64、=エポック。1) 57は 58 ##評価モデル 59 #損失、精度= model.evaluate(x_test 、android.permission.FACTOR。) 60 61は、 #1 印刷( '損失試験'、損失) 62である #1 )印刷( '精度試験'、確度
plot_model(モデル、to_file = " model.png "、show_shapes =真、show_layer_names =真、rankdir = ' TB ' ) plt.figure(figsize =(10,10 )) IMG = plt.imread(" model.png " ) plt.imshow(IMG) plt.axis(' オフ' ) plt.show()