提交 d4a46ceb authored 作者: Frederic Bastien's avatar Frederic Bastien

Fix test with mode=FAST_COMPILE in the new gpu back-end.

上级 fd874a59
......@@ -52,7 +52,8 @@ def test_dnn_conv_desc_merge():
# CDataType is not DeepCopyable so this will crash if we don't use
# borrow=True
f = theano.function([], [theano.Out(desc1, borrow=True),
theano.Out(desc2, borrow=True)])
theano.Out(desc2, borrow=True)],
mode=mode_with_gpu)
d1, d2 = f()
......@@ -997,9 +998,9 @@ def test_dnn_conv_grad():
return dnn.GpuDnnConvGradW()(img, out, kern, desc, alpha=0.75,
beta=-1.0)
utt.verify_grad(dconv, [img_val, kern_val, out_val], eps=1e-3)
utt.verify_grad(dconvi, [img_val, kern_val, out_val], eps=1e-3)
utt.verify_grad(dconvw, [img_val, kern_val, out_val], eps=1e-3)
utt.verify_grad(dconv, [img_val, kern_val, out_val], eps=1e-3, mode=mode_with_gpu)
utt.verify_grad(dconvi, [img_val, kern_val, out_val], eps=1e-3, mode=mode_with_gpu)
utt.verify_grad(dconvw, [img_val, kern_val, out_val], eps=1e-3, mode=mode_with_gpu)
def get_conv3d_test_cases():
......
......@@ -54,12 +54,12 @@ class TestFFT(unittest.TestCase):
def f_rfft(inp):
return theano.gpuarray.fft.curfft(inp)
inputs_val = np.random.random((1, N)).astype('float32')
utt.verify_grad(f_rfft, [inputs_val], eps=eps)
utt.verify_grad(f_rfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_irfft(inp):
return theano.gpuarray.fft.cuirfft(inp)
inputs_val = np.random.random((1, N // 2 + 1, 2)).astype('float32')
utt.verify_grad(f_irfft, [inputs_val], eps=eps)
utt.verify_grad(f_irfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def test_rfft(self):
inputs_val = np.random.random((1, N, N)).astype('float32')
......@@ -94,7 +94,7 @@ class TestFFT(unittest.TestCase):
inputs = theano.shared(inputs_val)
irfft = theano.gpuarray.fft.cuirfft(inputs)
f_irfft = theano.function([], irfft)
f_irfft = theano.function([], irfft, mode=mode_with_gpu)
res_irfft = f_irfft()
inputs_ref = inputs_val[..., 0] + inputs_val[..., 1] * 1j
......@@ -164,22 +164,22 @@ class TestFFT(unittest.TestCase):
def f_rfft(inp):
return theano.gpuarray.fft.curfft(inp)
inputs_val = np.random.random((1, N, N)).astype('float32')
utt.verify_grad(f_rfft, [inputs_val], eps=eps)
utt.verify_grad(f_rfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_irfft(inp):
return theano.gpuarray.fft.cuirfft(inp)
inputs_val = np.random.random((1, N, N // 2 + 1, 2)).astype('float32')
utt.verify_grad(f_irfft, [inputs_val], eps=eps)
utt.verify_grad(f_irfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_rfft(inp):
return theano.gpuarray.fft.curfft(inp, norm='ortho')
inputs_val = np.random.random((1, N, N)).astype('float32')
utt.verify_grad(f_rfft, [inputs_val], eps=eps)
utt.verify_grad(f_rfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_irfft(inp):
return theano.gpuarray.fft.cuirfft(inp, norm='no_norm')
inputs_val = np.random.random((1, N, N // 2 + 1, 2)).astype('float32')
utt.verify_grad(f_irfft, [inputs_val], eps=eps)
utt.verify_grad(f_irfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def test_odd(self):
M = N - 1
......@@ -224,22 +224,22 @@ class TestFFT(unittest.TestCase):
def f_rfft(inp):
return theano.gpuarray.fft.curfft(inp)
inputs_val = np.random.random((1, M, M)).astype('float32')
utt.verify_grad(f_rfft, [inputs_val], eps=eps)
utt.verify_grad(f_rfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_irfft(inp):
return theano.gpuarray.fft.cuirfft(inp, is_odd=True)
inputs_val = np.random.random((1, M, M // 2 + 1, 2)).astype('float32')
utt.verify_grad(f_irfft, [inputs_val], eps=eps)
utt.verify_grad(f_irfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_rfft(inp):
return theano.gpuarray.fft.curfft(inp, norm='ortho')
inputs_val = np.random.random((1, M, M)).astype('float32')
utt.verify_grad(f_rfft, [inputs_val], eps=eps)
utt.verify_grad(f_rfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def f_irfft(inp):
return theano.gpuarray.fft.cuirfft(inp, norm='no_norm', is_odd=True)
inputs_val = np.random.random((1, M, M // 2 + 1, 2)).astype('float32')
utt.verify_grad(f_irfft, [inputs_val], eps=eps)
utt.verify_grad(f_irfft, [inputs_val], eps=eps, mode=mode_with_gpu)
def test_params(self):
inputs_val = np.random.random((1, N)).astype('float32')
......
......@@ -48,7 +48,7 @@ class TestCorrMM(unittest.TestCase):
utt.verify_grad(GpuCorrMM(border_mode=border_mode,
filter_dilation=filter_dilation,
subsample=subsample),
[inputs_val, filters_val])
[inputs_val, filters_val], mode=mode_with_gpu)
def test_valid(self):
self.run_conv_valid(inputs_shape=(16, 20, 12, 1),
......
......@@ -47,7 +47,7 @@ class TestCorr3dMM(unittest.TestCase):
utt.verify_grad(GpuCorr3dMM(border_mode=border_mode,
filter_dilation=filter_dilation,
subsample=subsample),
[inputs_val, filters_val])
[inputs_val, filters_val], mode=mode_with_gpu)
def test_valid(self):
self.run_conv_valid(inputs_shape=(16, 20, 12, 16, 1),
......
......@@ -129,7 +129,7 @@ def test_GPUA_full_fill():
dtype='float32',
size=size)
rstate_gpu.default_update = new_rstate
f_gpu = theano.function([], sample)
f_gpu = theano.function([], sample, mode=mode)
utt.assert_allclose(f_cpu(), f_gpu())
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论