1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| x = tf.placeholder(tf.float32, [None, 3072]) y = tf.placeholder(tf.int64, [None])
x_image = tf.reshape(x, [-1, 3, 32, 32])
x_image = tf.transpose(x_image, perm=[0, 2, 3, 1])
conv1 = tf.layers.conv2d(x_image, 32, (3,3), padding = 'same', activation = tf.nn.relu, name = 'conv1')
pooling1 = tf.layers.max_pooling2d(conv1, (2, 2), (2, 2), name = 'pool1')
conv2 = tf.layers.conv2d(pooling1, 32, (3,3), padding = 'same', activation = tf.nn.relu, name = 'conv2')
pooling2 = tf.layers.max_pooling2d(conv2, (2, 2), (2, 2), name = 'pool2')
conv3 = tf.layers.conv2d(pooling2, 32, (3,3), padding = 'same', activation = tf.nn.relu, name = 'conv3')
pooling3 = tf.layers.max_pooling2d(conv3, (2, 2), (2, 2), name = 'pool3')
flatten = tf.layers.flatten(pooling3) y_ = tf.layers.dense(flatten, 10)
loss = tf.losses.sparse_softmax_cross_entropy(labels=y, logits=y_)
predict = tf.argmax(y_, 1)
correct_prediction = tf.equal(predict, y) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float64))
with tf.name_scope('train_op'): train_op = tf.train.AdamOptimizer(1e-3).minimize(loss)
|