def test_const_type_in_mul_canonizer():
input = dmatrix()
w = dmatrix()
visb = dvector()
hidb = dvector()
betas = dvector()
a = dvector()
def sigm(x):
return 1. / (1 + tensor.exp(-x))
hid = sigm((tensor.dot(w, input) + hidb) * betas)
vis_gauss1 = (tensor.dot(w.T, hid) + visb) * betas / (2 * a * a)
vis_gauss2 = (tensor.dot(w.T, hid) + visb) * betas / (2. * a * a)
f1 = function([input, w, visb, hidb, betas, a], vis_gauss1)
f2 = function([input, w, visb, hidb, betas, a], vis_gauss2)
ival = numpy.random.rand(5, 5)
wval = numpy.random.rand(5, 5)
visbval = numpy.random.rand(5)
hidbval = numpy.random.rand(5)
betaval = numpy.random.rand(5)
aval = numpy.random.rand(5)
utt.assert_allclose(
f2(ival, wval, visbval, hidbval, betaval, aval),
f1(ival, wval, visbval, hidbval, betaval, aval))
评论列表
文章目录