应要求,贴上inference模块供大家参考。
里面的网络结构可以自己定义。
分离inference模块,有利于程序的可读性和操作性。高内聚,低耦合?
import tensorflow as tf
# 定义神经网络结构相关的参数
INPUT_NODE = 128*128
OUTPUT_NODE = 62
IMAGE_SIZE = 128
NUM_CHANNELS = 1
NUM_LABELS = OUTPUT_NODE
# 第一层卷积层的尺寸和深度
CONV1_SIZE = 5
CONV1_DEEP = 32
# 第二层卷积层的尺寸和深度
CONV2_SIZE = 5
CONV2_DEEP = 64
# 全连接层的节点个数
FC_SIZE = 512
# 定义神经网络的前向传播过程
def inference(input_tensor, train, regularizer):
# 第一层卷积层,输出28*28*32的矩阵
with tf.variable_scope('layer1-conv1'):
conv1_weights = tf.get_variable("weight", [CONV1_SIZE, CONV1_SIZE, NUM_CHANNELS, CONV1_DEEP],
initializer=tf.truncated_normal_initializer(stddev=0.1))
conv1_biases = tf.get_variable("bias", [CONV1_DEEP], initializer=tf.constant_initializer(0.0))
# 使用边长为5,深度为32的过