インポート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))
9.正則
おすすめ
転載: www.cnblogs.com/liuwenhua/p/11605487.html
おすすめ
ランキング