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