TF之GD:基于tensorflow框架搭建GD算法利用Fashion-MNIST数据集实现多分类预测(92%)
目录
- Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
- Extracting data/fashion\train-images-idx3-ubyte.gz
- Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
- Extracting data/fashion\train-labels-idx1-ubyte.gz
- Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
- Extracting data/fashion\t10k-images-idx3-ubyte.gz
- Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
- Extracting data/fashion\t10k-labels-idx1-ubyte.gz
-
- (55000, 784)
- (55000, 10)
- Epoch: 0,acc: 0.7965
- Epoch: 1,acc: 0.8118
- Epoch: 2,acc: 0.8743
- Epoch: 3,acc: 0.8997
- Epoch: 4,acc: 0.9058
- Epoch: 5,acc: 0.9083
- Epoch: 6,acc: 0.9102
- Epoch: 7,acc: 0.9117
- Epoch: 8,acc: 0.9137
- Epoch: 9,acc: 0.9147
- Epoch: 10,acc: 0.9158
- Epoch: 11,acc: 0.9166
- Epoch: 12,acc: 0.9186
- Epoch: 13,acc: 0.9191
- Epoch: 14,acc: 0.9187
- Epoch: 15,acc: 0.9195
- Epoch: 16,acc: 0.9206
- Epoch: 17,acc: 0.9207
- Epoch: 18,acc: 0.9216
- Epoch: 19,acc: 0.9215
- Epoch: 20,acc: 0.9218
-
-
- TF之GD:基于tensorflow框架搭建GD算法利用Fashion-MNIST数据集实现多分类预测(92%)
- import tensorflow as tf
- from tensorflow.examples.tutorials.mnist import input_data
-
- fashion = input_data.read_data_sets('data/fashion', one_hot=True)
-
- print(fashion.train.images.shape)
- print(fashion.train.labels.shape)
-
- batch_size = 100
- batch_num = fashion.train.num_examples // batch_size
-
- 定义X,Y参数
- x = tf.placeholder(tf.float32, shape=[None, 784])
- y = tf.placeholder(tf.float32, shape=[None, 10])
- 定义W,B参数
- W = tf.Variable(tf.truncated_normal([784, 10], stddev= 0.1))
- b = tf.Variable(tf.zeros([10]) + 0.1)
-
- 预测结果
- prediction = tf.nn.softmax(tf.matmul(x, W) + b)
- 使用交叉熵计算loss
- cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=prediction, labels=y))
- 定义优化器
- train_step = tf.train.GradientDescentOptimizer(0.2).minimize(cross_entropy)
- 判断预测结果是否正确
- correct_prediction = tf.equal(tf.argmax(prediction, 1), tf.argmax(y, 1))
- 计算准确率,将bool值转为float32
- accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
-
- with tf.Session() as sess:
- sess.run(tf.global_variables_initializer())
- for epoch in range(21):
- for i in range(batch_num):
- batch_xs, batch_ys = fashion.train.next_batch(batch_size)
- sess.run(train_step, feed_dict={x: batch_xs, y:batch_ys})
- acc = sess.run(accuracy, feed_dict={x:fashion.test.images, y:fashion.test.labels})
- print('Epoch: '+str(epoch)+',acc: '+str(acc))
-
-
-
-
-
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!