深度学习之-LeNET模型的结构

mu = 0
sigma = 0.1
weights = {
    'wc1': tf.Variable(tf.truncated_normal(shape=(5, 5, 1, 6), mean = mu, stddev = sigma)),
    #truncated_normal(shape=(5, 5, 1, 6), mean = mu, stddev = sigma)
    'wc2': tf.Variable(tf.truncated_normal(shape=(5, 5, 6, 16), mean = mu, stddev = sigma)),
    'wf1': tf.Variable(tf.truncated_normal(shape=(400, 120), mean = mu, stddev = sigma)),
    'wf2': tf.Variable(tf.truncated_normal(shape=(120, 84), mean = mu, stddev = sigma)),
    'out': tf.Variable(tf.truncated_normal(shape=(84, 10), mean = mu, stddev = sigma))}
biases = {
    'bc1': tf.Variable(tf.zeros([6])),
    'bc2': tf.Variable(tf.zeros([16])),
    'bf1': tf.Variable(tf.zeros([120])),
    'bf2': tf.Variable(tf.zeros([84])),
    'out': tf.Variable(tf.zeros([10]))}

#Layer 1: Convolutional. Input = 32x32x1. Output = 28x28x6.
out1 = tf.nn.conv2d(x, weights['wc1'], strides=[1, 1, 1, 1], padding='VALID')
out1 = tf.nn.bias_add(out1,biases['bc1'])
#Activation.
out1 = tf.nn.relu(out1)

#Pooling. Input = 28x28x6. Output = 14x14x6.
out1 = tf.nn.max_pool(
    out1,
    ksize=[1, 2, 2, 1],
    strides=[1, 2, 2, 1],
    padding='VALID')

#Layer 2: Convolutional. Output = 10x10x16.
out2 = tf.nn.conv2d(out1, weights['wc2'], strides=[1, 1, 1, 1], padding='VALID')
out2 = tf.nn.bias_add(out2,biases['bc2'])
#Activation.
out2 = tf.nn.relu(out2)
#Pooling. Input = 10x10x16. Output = 5x5x16.
out2 = tf.nn.max_pool(
    out2,
    ksize=[1, 2, 2, 1],
    strides=[1, 2, 2, 1],
    padding='VALID')
#Flatten. Input = 5x5x16. Output = 400.
flat = flatten(out2)
#Layer 3: Fully Connected. Input = 400. Output = 120.
out3 = tf.matmul(flat,weights['wf1'])
out3 = tf.nn.bias_add(out3,biases['bf1'])
#Activation.
out3 = tf.nn.relu(out3)
#Layer 4: Fully Connected. Input = 120. Output = 84.
out4 = tf.matmul(out3,weights['wf2'])
out4 = tf.nn.bias_add(out4,biases['bf2'])
#Activation.
out4 = tf.nn.relu(out4)
#Layer 5: Fully Connected. Input = 84. Output = 10.
logits = tf.matmul(out4,weights['out'])
logits = tf.nn.bias_add(logits,biases['out'])
return logits

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注