提交 e96b7c4d authored 作者: Frederic's avatar Frederic

pep8

上级 28d64c99
......@@ -12,7 +12,7 @@ from theano.tensor.signal.downsample import max_pool_2d
# Skip test if cuda_ndarray is not available.
import theano.sandbox.cuda as cuda
if cuda.cuda_available == False:
if not cuda.cuda_available:
raise SkipTest('Optional package cuda disabled')
if theano.config.mode == 'FAST_COMPILE':
......@@ -24,13 +24,15 @@ else:
mode_without_gpu = theano.compile.mode.get_default_mode().excluding('gpu')
def pool_2d_i2n(input, ds=(2, 2), strides=None, pool_function=T.max, mode='ignore_borders'):
def pool_2d_i2n(input, ds=(2, 2), strides=None,
pool_function=T.max, mode='ignore_borders'):
if strides is None:
strides = ds
if strides[0] > ds[0] or strides[1] > ds[1]:
raise RuntimeError("strides should be smaller than or equal to ds, strides=(%d, %d) and ds=(%d, %d)" %
raise RuntimeError(
"strides should be smaller than or equal to ds,"
" strides=(%d, %d) and ds=(%d, %d)" %
(strides + ds))
shape = input.shape
......@@ -40,7 +42,8 @@ def pool_2d_i2n(input, ds=(2, 2), strides=None, pool_function=T.max, mode='ignor
output_width = (shape[2] - ds[0]) // strides[0] + 1
output_height = (shape[3] - ds[1]) // strides[1] + 1
pooled_output = pooled_neibs.reshape((shape[0], shape[1], output_width, output_height))
pooled_output = pooled_neibs.reshape((shape[0], shape[1],
output_width, output_height))
return pooled_output
......@@ -53,20 +56,24 @@ def test_pooling():
for func in (T.max, T.mean):
for ws in (4, 5):
for stride in (2, 3):
out1 = cuda.dnn.dnn_pool(x, ws=(ws, ws), stride=(stride, stride),
out1 = cuda.dnn.dnn_pool(
x, ws=(ws, ws),
stride=(stride, stride),
mode='max' if func is T.max else "average")
out2 = pool_2d_i2n(x, ds=(ws, ws), strides=(stride, stride),
pool_function=func)
pool_function=func)
f1 = theano.function([x], out1, mode=mode_with_gpu)
f2 = theano.function([x], out2, mode=mode_with_gpu)
data = numpy.random.normal(0, 1, (1, 10, 100, 100)).astype("float32")
data = numpy.random.normal(
0, 1, (1, 10, 100, 100)).astype("float32")
a = f1(data).__array__()
b = f2(data).__array__()
assert numpy.allclose(a, b, atol=numpy.finfo(numpy.float32).eps)
assert numpy.allclose(a, b,
atol=numpy.finfo(numpy.float32).eps)
def test_pooling_opt():
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论