輸入TFとしてtensorflow から tensorflow.examples.tutorials.mnist 輸入INPUT_DATA #载入数据集 mnist = input_data.read_data_sets(" F:\\ TensorflowProject \\ MNIST_data "、one_hot = 真) #各バッチのサイズ、トレーニングにニューラルネットワーク100を訓練 BATCH_SIZE = 100 #計算のバッチの合計数 n_batch = mnist.train.num_examples // BATCH_SIZE #2のプレースホルダを定義 X = tf.placeholderを(tf.float32、[なし]、[784 ]) #0-9 ten- Y = tf.placeholder(tf.float32、[なし]、[10 ]) #ニューラルネットワークを作成 W = tf.Variable(tf.zeros([784,10 ])) B = tf.Variable(tf.zeros([10 ])) 予測 = tf.nn.softmax(tf.matmul(X、W)+ B) #二次コスト関数 #の損失= tf.reduce_mean(tf.square(Y予測)) #交差エントロピーコスト関数 損失= tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(= Yラベル、logits = 予測)) #勾配降下法 #train_step = tf.train.GradientDescentOptimizer(0.2).minimize(損失) train_step tf.train.AdamOptimizer =(0.01).minimize(損失)#1 1E-2 #は、変数初期化 INIT = tf.global_variables_initializer() #の結果を格納しますブールリスト内 correct_prediction = tf.equal(tf.argmax(Y ,. 1)、tf.argmax(予測,. 1 )) #必要な精度 精度= tf.reduce_mean(tf.cast(correct_prediction、tf.float32) )SESのようtf.Session()を持ちます: sess.run(INIT) 以下のためのエポックにおける範囲(21 ) のためのバッチにおける範囲(n_batch): batch_xs、batch_ys = mnist.train.next_batch(BATCH_SIZE) sess.run(train_step、feed_dict = {X:batch_xs、Y:batch_ys}) #测试准确率 ACC = sess.run(精度、feed_dict = {X:mnist.test.images、Y:mnist.test.labels}) プリント(" イーター:" + STR(エポック)+ " テスト精度" + STR(ACC))
###########実行結果
抽出F:\ TensorflowProject \ MNIST_data \列車画像-IDX3-ubyte.gz 抽出F:\ TensorflowProject \ MNIST_data \列車のラベル-IDX1-ubyte.gz 抽出F:\ TensorflowProject \ MNIST_data \ t10k-画像-IDX3-ubyte.gz 抽出F:\ TensorflowProject \ MNIST_data \ t10k-ラベル-IDX1-ubyte.gz ITER:0、テストの精度0.9221 ITER:1、テストの精度0.9133 ITER:2、テストの精度0.9271 ITER:3、テストの精度0.9262 ITER:4、テストの精度0.9299 ITER:5、テストの精度0.9293 ITER:6、テストの精度0.9301 ITER:7、テストの精度0.9299 ITER:8、検査精度0.9287 ITER:9、テストの精度0.9319 ITER:10、検査精度0.9317 ITER:11、テスト精度0.9315 ITER:12、テストの精度0.9307 ITER:13、テストの精度0.932 ITER:14、テストの精度0.9314 ITER:15、テストの精度0.9316 ITER:16、テストの精度0.9311 ITER:17、テストの精度0.9333 ITER:18、テストの精度0.9318 ITER:19、テストの精度0.9318 ITER:20、テストの精度0.9289