11.ドローネットワーク構造

インポート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()

おすすめ

転載: www.cnblogs.com/liuwenhua/p/11567052.html