<jupyter_start><jupyter_text>CNN: 120C5-MP2-200C3-MP2-200N-10N<jupyter_code># DATA
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
# TRUE data for each iteration
import tensorflow as tf
x = tf.placeholder(tf.float32, shape=[None, 784])# input
y_ = tf.placeholder(tf.float32, shape=[None, 10])
# Define functions

# weight init
def weight_variable(shape):
    initial = tf.truncated_normal(shape, stddev=0.1)
    return tf.Variable(initial)

def bias_variable(shape):
    initial = tf.constant(0.1, shape=shape)
    return tf.Variable(initial)

# layers
def conv2d(x, W):
    return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')# "SAME": output size is the same with input size

def max_pool_2x2(x):
    return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')
# MODEL
# First Layer
W_conv1 = weight_variable([5, 5, 1, 120]) # 120C5
b_conv1 = bias_variable([120])# 

# reshape to 4d tensor
x_image = tf.reshape(x, [-1, 28, 28, 1])# 28x28 image shape, with color channels=1
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)# 120C5
h_pool1 = max_pool_2x2(h_conv1)# MP2

# Second layer
W_conv2 = weight_variable([3,3, 120, 200])# 200C3
b_conv2 = bias_variable([200])
h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)# 200C3
h_pool2 = max_pool_2x2(h_conv2)# MP2

# fully-connected layer with 1024 neurons
W_fc1 = weight_variable([7 * 7 * 200, 100]) # 100N
b_fc1 = bias_variable([100])
h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*200])
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1)

# Dropout
keep_prob = tf.placeholder(tf.float32)
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)

# Readout Layer
W_fc2 = weight_variable([100, 10])# 100N to 10 classes
b_fc2 = bias_variable([10])
y_conv = tf.matmul(h_fc1_drop, W_fc2) + b_fc2
# TRAIN
cross_entropy = tf.reduce_mean(
    tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y_conv))

train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)
correct_prediction = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    for i in range(200):
        batch = mnist.train.next_batch(50)
        if i % 100 == 0:
            train_accuracy = accuracy.eval(feed_dict={
                x: batch[0], y_: batch[1], keep_prob: 1.0})
        print('step %d, training accuracy %g' % (i, train_accuracy))
        train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})

    print('test accuracy %g' % accuracy.eval(feed_dict={
      x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))<jupyter_output>step 0, training accuracy 0.08
step 1, training accuracy 0.08
step 2, training accuracy 0.08
step 3, training accuracy 0.08
step 4, training accuracy 0.08
step 5, training accuracy 0.08
step 6, training accuracy 0.08
step 7, training accuracy 0.08
step 8, training accuracy 0.08
step 9, training accuracy 0.08
step 10, training accuracy 0.08
step 11, training accuracy 0.08
step 12, training accuracy 0.08
step 13, training accuracy 0.08
step 14, training accuracy 0.08
step 15, training accuracy 0.08
step 16, training accuracy 0.08
step 17, training accuracy 0.08
step 18, training accuracy 0.08
step 19, training accuracy 0.08
step 20, training accuracy 0.08
step 21, training accuracy 0.08
step 22, training accuracy 0.08
step 23, training accuracy 0.08
step 24, training accuracy 0.08
step 25, training accuracy 0.08
step 26, training accuracy 0.08
step 27, training accuracy 0.08
step 28, training accuracy 0.08
step 29, training accuracy 0.08
step 30, training accuracy 0.08
step 31, training [...]
{'fraction_non_alphanumeric': 0.12489991993594876, 'fraction_numerical': 0.09073925807312516, 'mean_word_length': 4.619190404797601, 'pattern_counts': {'":': 1, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '166842', 'license': 'MIT', 'n_tokens_mistral': 1645, 'n_tokens_neox': 1404, 'n_words': 392, 'path': 'tensorflow/models/tf_cnn_120C5-MP2-200C3-MP2-100N-10N.ipynb', 'repo_name': 'ybdesire/machinelearning', 'size': '3747'}