自从我会用第一个神经网络以后,我第一次吧数据送入网络进行训练,获得了成就感,今天我又一次在原来的基础上,改写了网络模型,现在我可以在Alexnet上运行自己的网络结构了,
Alexnet的网络结构
数据预处理和之前的都一样,可以参考上一篇 的模型,下面的这篇模型直接改写网络的inference结构就可以了:
#=========================================================================
import tensorflow as tf
#=========================================================================
#网络结构定义
#输入参数:images,image batch、4D tensor、tf.float32、[batch_size, width, height, channels]
#返回参数:logits, float、 [batch_size, n_classes]
def inference(images, batch_size, n_classes):
#一个简单的卷积神经网络,卷积+池化层x2,全连接层x2,最后一个softmax层做分类。
#卷积层1
#64个3x3的卷积核(3通道),padding=’SAME’,表示padding后卷积的图与原图尺寸一致,激活函数relu()
parameters = []
# 第1个卷积层
with tf.name_scope('conv1') as scope:
kernel = tf.Variable(tf.truncated_normal([11, 11, 3, 64], dtype=tf.float32,
stddev=1e-1), name='weights')
conv = tf.nn.conv2d(images, kernel, [1, 4, 4, 1], padding='SAME')
biases = tf.Variable(tf.constant(0.0, shape=[64], dtype=tf.float32),
trainable=True, name='biases')
bias = tf.nn.bias_add(conv, biases)
conv1 = tf.nn.re