def get_tile_coder(min_val, max_val, num_tiles, num_tilings,
num_features, learning_rate):
# x.shape: (num_features), y.shape: ()
x = T.fvector('x')
y = T.fscalar('y')
tile_coding_layer = TileCodingLayer(
min_val=min_val, max_val=max_val,
num_tiles=num_tiles, num_tilings=num_tilings,
num_features=num_features)
# quantized_x
q_x = tile_coding_layer.quantize(x)
y_hat = tile_coding_layer.approximate(q_x)
updates = tile_coding_layer.update_rule(y, y_hat, 0.1)
train = theano.function([x, y], y_hat, updates=updates, allow_input_downcast=True)
eval_ = theano.function([x], y_hat, allow_input_downcast=True)
return train, eval_
评论列表
文章目录