def setUp(self):
self.initial = np.array([0.1, 0.1], dtype='float32')
x = theano.shared(self.initial)
self.params = [x]
left_bound = T.fscalar('left bound')
right_bound = T.fscalar('right bound')
self.inputs = [left_bound, right_bound]
y = T.sum(x)
loss = -T.log(y - left_bound) - T.log(right_bound - y) + 1.0e-3 * T.sum(x ** 2)
self.loss = loss
x0 = (0.01 + 0.011 + 2.0 + 2.1) / 4.0
self.approx_solution = np.array([x0 / 2, x0 / 2], dtype='float32')
self.get_inputs = lambda : [
np.float32(np.random.uniform(0.01, 0.011)),
np.float32(np.random.uniform(2.0, 2.1)),
]
x_sub = T.fvector('x sub')
self.get_loss = theano.function([x_sub] + self.inputs, self.loss, givens=[(self.params[0], x_sub)])
评论列表
文章目录