9.正則

インポートAS tensorflowのTF
 から tensorflow.examples.tutorials.mnist インポートINPUT_DATA 

#1 セットのデータのロード 
MNIST = input_data.read_data_sets(" MNIST_data "、one_hot = TRUE) 

の各バッチサイズ 
BATCH_SIZE = 64 #は、バッチの総数を算出します時間が 
mnist.train.num_examples // = n_batch BATCH_SIZEの#は2プレースホルダ定義 
X = tf.placeholder(tf.float32を、[なし]、[784 ])
Y = tf.placeholder(tf.float32、[なし]、[10 ])
keep_prob = tf.placeholder(tf.float32) 784-1000-500-10 簡単なニューラルネットワークを作成します





W1 = tf.Variable(tf.truncated_normal([784,1000]、STDDEV = 0.1 ))
B1 = tf.Variable(tf.zeros([1000])+ 0.1 
L1 = tf.nn.tanh(tf.matmul( X、W1)+ B1)
L1_drop = tf.nn.dropout(L1、keep_prob)

W2 = tf.Variable(tf.truncated_normal([1000,500]、STDDEV = 0.1 ))
B2 = tf.Variable(tf.zeros( [500])+ 0.1 
L2 = tf.nn.tanh(tf.matmul(L1_drop、W2)+ B2)
L2_drop = tf.nn.dropout(L2、keep_prob)

W3 = tf.Variable(tf.truncated_normal([500 、10]、STDDEV = 0.1 ))
B3 = tf.Variable(tf.zeros([10])+ 0.1 
予測Tf.nn.softmax =(tf.matmul(L2_dropのW3)+ B3) 

正則 
l2_loss = tf.nn.l2_loss(W1)+ tf.nn.l2_loss (B1)+ tf.nn.l2_loss(W2)+ tf.nn.l2_loss(B2)+ tf.nn.l2_loss(のW3)+ tf.nn.l2_loss(B3) 

クロスエントロピー 
損失= tf.losses.softmax_cross_entropy(Y、予測)+ 0.0005 * l2_loss
 勾配降下法を用いて 
= tf.train.GradientDescentOptimizerのtrain_step(0.5 ).minimize(損失)

変数を初期化 
INIT = tf.global_variables_initializer() 

結果は、ブール値のリストに格納され 
correct_prediction = tf.equal(tf.argmax(Y、 1)、TF .argmax(予測,. 1)) テンソル位置の最大値の一次元位置にARGMAX復帰精度求め 
精度=tf.reduce_mean(tf.cast(correct_prediction、tf.float32))

のSESとしてtf.Session(付):
    sess.run(INIT)
    のためのエポックにおける範囲(31 のためのバッチにおける範囲(n_batch):
            batch_xs、batch_ys =   mnist.train.next_batch(BATCH_SIZE)
            sess.run(train_step、feed_dict = {X:batch_xs、Y:batch_ys、keep_prob:1.0 })
        
        test_acc = sess.run(精度、feed_dict = {X:mnist.test.images、Y :mnist.test.labels、keep_prob:1.0 })
        train_acc = sess.run(精度、feed_dict = {X:mnist.train.images、Y:mnist.train.labels、keep_prob:1.0 })
         印刷" イーター" + STR(エポック)+ " 精度のテスト" + STR(test_acc)+ " トレーニング精度" + STR(train_acc))
ITER 0、テスト精度0.9451、トレーニング精度0.94643635 
ITER 1、試験精度0.9529、トレーニング精度0.9566909 
ITER 2、テスト精度0.96、トレーニング精度0.96574545 
ITER 3、テスト精度0.9608、トレーニング精度0.9655455 
ITER 4、試験精度0.9644、トレーニング精度0.96776366 
ITER 5、試験精度0.9644、トレーニング精度0.96772724 
ITER 6、テスト精度0.9612、トレーニング精度0.9637455 
ITER 7、テスト精度0.9647、トレーニング精度0.96952724 
ITER 8、テスト精度0.9635、トレーニング精度0.9685091 
ITER 9、テスト精度0.9655、トレーニング精度0.97016364 
ITER 10、検査精度0.9631、トレーニング精度0.96703637
ITER 11、テスト精度0.9649、トレーニング精度0.96965456 
ITER 12、テスト精度0.9673、トレーニング精度0.9712909 
ITER 13、テスト精度0.9669、トレーニング精度0.97174543 
ITER 14、テスト精度0.9644、トレーニング精度0.9681818 
ITER 15、テスト精度0.9657、トレーニング精度0.9709273 
ITER 16、テスト精度0.9655、トレーニング精度0.97154546 
ITER 17、テスト精度0.966、トレーニング精度0.9701818 
ITER 18、テスト精度0.9635、トレーニング精度0.96852726 
ITER 19、テスト精度0.9665、トレーニング精度0.9719818 
ITER 20、テスト精度0.9679、トレーニング精度0.9732909 
ITER 21、テストの精度0.9683、トレーニング精度0.9747273
ITER 22、テスト精度0.9664、トレーニング精度0.9724  
ITER 23、テストの精度0.9684、トレーニング精度0.97367275
ITER 24、テスト精度0.9666、トレーニング精度0.9719091 
ITER 25、テスト精度0.9655、トレーニング精度0.97212726 
ITER 26、テスト精度0.9682、トレーニング精度0.9728 
ITER 27、テスト精度0.9676、トレーニング精度0.97221816 
ITER 28、テストの精度0.9669、トレーニング精度0.97238183 
イーター29、テストの精度0.9675、トレーニング精度0.97327274 
イーター30、テストの精度0.9665、トレーニング精度0.9725091
 

おすすめ

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