def neural_network(self, X):
"""pi, mu, sigma = NN(x; theta)"""
X_image = tf.reshape(X, [-1,IMAGE_ROWS,IMAGE_COLS,1])
conv1 = Convolution2D(32, 5, 5, border_mode='same', activation=K.relu, W_regularizer=l2(0.01),
input_shape=(IMAGE_ROWS, IMAGE_COLS, 1))(X_image)
pool1 = MaxPooling2D(pool_size=(2,2), border_mode='same')(conv1)
conv2 = Convolution2D(64, 5, 5, border_mode='same', activation=K.relu, W_regularizer=l2(0.01))(pool1)
pool2 = MaxPooling2D(pool_size=(2,2), border_mode='same')(conv2)
pool2_flat = tf.reshape(pool2, [-1, IMAGE_ROWS//4 * IMAGE_COLS//4 * 64])
hidden1 = Dense(1024, W_regularizer=l2(0.01), activation=K.relu)(pool2_flat)
hidden2 = Dense(64, W_regularizer=l2(0.01), activation=K.relu)(hidden1)
self.mus = Dense(self.K)(hidden2)
self.sigmas = Dense(self.K, activation=K.softplus)(hidden2)
self.pi = Dense(self.K, activation=K.softmax)(hidden2)
评论列表
文章目录