def build_model(self):
initializer = initializers.random_normal(stddev=0.02)
model = Sequential()
if self.padding:
model.add(ZeroPadding2D(padding=(1, 0), data_format="channels_first", input_shape=(self.layers, self.rows, self.columns)))
model.add(Conv2D(32, (8, 8), activation="relu", data_format="channels_first",
strides=(4, 4), kernel_initializer=initializer, padding='same',
input_shape=(self.layers, self.rows, self.columns)))
model.add(Conv2D(64, (4, 4), activation="relu", data_format="channels_first", strides=(2, 2),
kernel_initializer=initializer, padding='same'))
model.add(Conv2D(64, (3, 3), activation="relu", data_format="channels_first", strides=(1, 1),
kernel_initializer=initializer, padding='same'))
model.add(Flatten())
model.add(Dense(512, activation="relu", kernel_initializer=initializer))
model.add(Dense(self.actions_num, kernel_initializer=initializer))
adam = Adam(lr=1e-6)
model.compile(loss='mse', optimizer=adam)
return model
评论列表
文章目录