提交 a5c408d4 authored 作者: David Warde-Farley's avatar David Warde-Farley

DOC: add docstrings to check_ and test_ functions.

Also renamed several arguments to make them less verbose.
上级 1f093755
...@@ -10,13 +10,38 @@ else: ...@@ -10,13 +10,38 @@ else:
mode_with_gpu = theano.compile.mode.get_default_mode().including('gpu') mode_with_gpu = theano.compile.mode.get_default_mode().including('gpu')
def check_uniform_basic(shape_as_theano_variable, def check_uniform_basic(shape_as_symbolic, dim_as_symbolic=False):
dim_as_theano_variable=False): """
check_uniform_basic(shape_as_symbolic, dim_as_symbolic=False)
Runs a basic sanity check on the `uniform` method of a
`CURAND_RandomStreams` object.
Checks that variates
* are in the range [0, 1]
* have a mean in the right neighbourhood (near 0.5)
* are of the specified shape
* successive calls produce different arrays of variates
Parameters
----------
shape_as_symbolic : boolean
If `True`, est the case that the shape tuple is a symbolic
variable rather than known at compile-time.
dim_as_symbolic : boolean
If `True`, test the case that an element of the shape
tuple is a Theano symbolic. Irrelevant if `shape_as_symbolic`
is `True`.
"""
rng = CURAND_RandomStreams(234) rng = CURAND_RandomStreams(234)
if shape_as_theano_variable: if shape_as_symbolic:
# instantiate a TensorConstant with the value (10, 10)
shape = constant((10, 10)) shape = constant((10, 10))
else: else:
if dim_as_theano_variable: # Only one dimension is symbolic, with the others known
if dim_as_symbolic:
shape = (10, constant(10)) shape = (10, constant(10))
else: else:
shape = (10, 10) shape = (10, 10)
...@@ -45,18 +70,46 @@ def check_uniform_basic(shape_as_theano_variable, ...@@ -45,18 +70,46 @@ def check_uniform_basic(shape_as_theano_variable,
def test_uniform_basic(): def test_uniform_basic():
"""
Run the tests for `uniform` with different settings for the
shape tuple passed in.
"""
yield check_uniform_basic, False yield check_uniform_basic, False
yield check_uniform_basic, False, True yield check_uniform_basic, False, True
yield check_uniform_basic, True yield check_uniform_basic, True
def check_normal_basic(shape_as_theano_variable, def check_normal_basic(shape_as_symbolic, dim_as_symbolic=False):
dim_as_theano_variable=False): """
check_normal_basic(shape_as_symbolic, dim_as_symbolic=False)
Runs a basic sanity check on the `normal` method of a
`CURAND_RandomStreams` object.
Checks that variates
* have a mean in the right neighbourhood (near 0)
* are of the specified shape
* successive calls produce different arrays of variates
Parameters
----------
shape_as_symbolic : boolean
If `True`, est the case that the shape tuple is a symbolic
variable rather than known at compile-time.
dim_as_symbolic : boolean
If `True`, test the case that an element of the shape
tuple is a Theano symbolic. Irrelevant if `shape_as_symbolic`
is `True`.
"""
rng = CURAND_RandomStreams(234) rng = CURAND_RandomStreams(234)
if shape_as_theano_variable: if shape_as_symbolic:
# instantiate a TensorConstant with the value (10, 10)
shape = constant((10, 10)) shape = constant((10, 10))
else: else:
if dim_as_theano_variable: if dim_as_symbolic:
# Only one dimension is symbolic, with the others known
shape = (10, constant(10)) shape = (10, constant(10))
else: else:
shape = (10, 10) shape = (10, 10)
...@@ -83,6 +136,10 @@ def check_normal_basic(shape_as_theano_variable, ...@@ -83,6 +136,10 @@ def check_normal_basic(shape_as_theano_variable,
def test_normal_basic(): def test_normal_basic():
"""
Run the tests for `normal` with different settings for the
shape tuple passed in.
"""
yield check_normal_basic, False yield check_normal_basic, False
yield check_normal_basic, False, True yield check_normal_basic, False, True
yield check_normal_basic, True yield check_normal_basic, True
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论