Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
39c11472
提交
39c11472
authored
6月 02, 2021
作者:
kc611
提交者:
Brandon T. Willard
6月 25, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor remaining tests to use NumPy Generator
上级
1ff4b9d3
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
171 行增加
和
127 行删除
+171
-127
test_pfunc.py
tests/compile/function/test_pfunc.py
+10
-10
test_debugmode.py
tests/compile/test_debugmode.py
+6
-6
test_misc.py
tests/compile/test_misc.py
+4
-3
models.py
tests/d3viz/models.py
+1
-1
test_d3viz.py
tests/d3viz/test_d3viz.py
+1
-1
test_formatting.py
tests/d3viz/test_formatting.py
+1
-1
test_jax.py
tests/link/test_jax.py
+33
-8
test_numba.py
tests/link/test_numba.py
+34
-16
test_linalg.py
tests/sandbox/linalg/test_linalg.py
+5
-5
test_minimal.py
tests/sandbox/test_minimal.py
+2
-2
test_rng_mrg.py
tests/sandbox/test_rng_mrg.py
+15
-12
test_basic.py
tests/scan/test_basic.py
+0
-0
test_opt.py
tests/scan/test_opt.py
+1
-1
test_sp.py
tests/sparse/sandbox/test_sp.py
+5
-5
test_basic.py
tests/sparse/test_basic.py
+0
-0
test_sort.py
tests/tensor/test_sort.py
+38
-33
test_basic.py
tests/typed_list/test_basic.py
+0
-4
test_opt.py
tests/typed_list/test_opt.py
+11
-11
test_type.py
tests/typed_list/test_type.py
+4
-8
没有找到文件。
tests/compile/function/test_pfunc.py
浏览文件 @
39c11472
...
...
@@ -64,7 +64,7 @@ class TestPfunc:
def
test_shared
(
self
):
# CHECK: two functions (f1 and f2) can share w
w
=
shared
(
np
.
random
.
rand
(
2
,
2
),
"w"
)
w
=
shared
(
np
.
random
.
rand
om
((
2
,
2
)
),
"w"
)
wval
=
w
.
get_value
(
borrow
=
False
)
x
=
dmatrix
()
...
...
@@ -72,7 +72,7 @@ class TestPfunc:
out2
=
w
*
x
f1
=
pfunc
([
x
],
[
out1
])
f2
=
pfunc
([
x
],
[
out2
])
xval
=
np
.
random
.
rand
(
2
,
2
)
xval
=
np
.
random
.
rand
om
((
2
,
2
)
)
assert
np
.
all
(
f1
(
xval
)
==
xval
+
wval
)
assert
np
.
all
(
f2
(
xval
)
==
xval
*
wval
)
...
...
@@ -89,7 +89,7 @@ class TestPfunc:
def
test_no_shared_as_input
(
self
):
# Test that shared variables cannot be used as function inputs.
w_init
=
np
.
random
.
rand
(
2
,
2
)
w_init
=
np
.
random
.
rand
om
((
2
,
2
)
)
w
=
shared
(
w_init
.
copy
(),
"w"
)
with
pytest
.
raises
(
TypeError
,
match
=
r"^Cannot use a shared variable \(w\) as explicit input"
...
...
@@ -100,8 +100,8 @@ class TestPfunc:
# Ensure it is possible to (implicitly) use a shared variable in a
# function, as a 'state' that can be updated at will.
rng
=
np
.
random
.
RandomState
(
1827
)
w_init
=
rng
.
rand
(
5
)
rng
=
np
.
random
.
default_rng
(
1827
)
w_init
=
rng
.
rand
om
((
5
)
)
w
=
shared
(
w_init
.
copy
(),
"w"
)
reg
=
aet_sum
(
w
*
w
)
f
=
pfunc
([],
reg
)
...
...
@@ -127,8 +127,8 @@ class TestPfunc:
out
=
a
+
b
f
=
pfunc
([
In
(
a
,
strict
=
False
)],
[
out
])
# works, rand generates float64 by default
f
(
np
.
random
.
rand
(
8
))
# works, rand
om(
generates float64 by default
f
(
np
.
random
.
rand
om
((
8
)
))
# works, casting is allowed
f
(
np
.
array
([
1
,
2
,
3
,
4
],
dtype
=
"int32"
))
...
...
@@ -145,14 +145,14 @@ class TestPfunc:
# using mutable=True will let fip change the value in aval
fip
=
pfunc
([
In
(
a
,
mutable
=
True
)],
[
a_out
],
mode
=
"FAST_RUN"
)
aval
=
np
.
random
.
rand
(
10
)
aval
=
np
.
random
.
rand
om
((
10
)
)
aval2
=
aval
.
copy
()
assert
np
.
all
(
fip
(
aval
)
==
(
aval2
*
2
))
assert
not
np
.
all
(
aval
==
aval2
)
# using mutable=False should leave the input untouched
f
=
pfunc
([
In
(
a
,
mutable
=
False
)],
[
a_out
],
mode
=
"FAST_RUN"
)
aval
=
np
.
random
.
rand
(
10
)
aval
=
np
.
random
.
rand
om
((
10
)
)
aval2
=
aval
.
copy
()
assert
np
.
all
(
f
(
aval
)
==
(
aval2
*
2
))
assert
np
.
all
(
aval
==
aval2
)
...
...
@@ -375,7 +375,7 @@ class TestPfunc:
def
test_update_err_broadcast
(
self
):
# Test that broadcastable dimensions raise error
data
=
np
.
random
.
rand
(
10
,
10
)
.
astype
(
"float32"
)
data
=
np
.
random
.
rand
om
((
10
,
10
)
)
.
astype
(
"float32"
)
output_var
=
shared
(
name
=
"output"
,
value
=
data
)
# the update_var has type matrix, and the update expression
...
...
tests/compile/test_debugmode.py
浏览文件 @
39c11472
...
...
@@ -736,7 +736,7 @@ class VecAsRowAndCol(Op):
class
TestPreallocatedOutput
:
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
RandomState
(
seed
=
utt
.
fetch_seed
())
self
.
rng
=
np
.
random
.
default_rng
(
seed
=
utt
.
fetch_seed
())
def
test_f_contiguous
(
self
):
a
=
fmatrix
(
"a"
)
...
...
@@ -745,8 +745,8 @@ class TestPreallocatedOutput:
# In this test, we do not want z to be an output of the graph.
out
=
dot
(
z
,
np
.
eye
(
7
))
a_val
=
self
.
rng
.
randn
(
7
,
7
)
.
astype
(
"float32"
)
b_val
=
self
.
rng
.
randn
(
7
,
7
)
.
astype
(
"float32"
)
a_val
=
self
.
rng
.
standard_normal
((
7
,
7
)
)
.
astype
(
"float32"
)
b_val
=
self
.
rng
.
standard_normal
((
7
,
7
)
)
.
astype
(
"float32"
)
# Should work
mode
=
DebugMode
(
check_preallocated_output
=
[
"c_contiguous"
])
...
...
@@ -776,8 +776,8 @@ class TestPreallocatedOutput:
b
=
fmatrix
(
"b"
)
out
=
BrokenCImplementationAdd
()(
a
,
b
)
a_val
=
self
.
rng
.
randn
(
7
,
7
)
.
astype
(
"float32"
)
b_val
=
self
.
rng
.
randn
(
7
,
7
)
.
astype
(
"float32"
)
a_val
=
self
.
rng
.
standard_normal
((
7
,
7
)
)
.
astype
(
"float32"
)
b_val
=
self
.
rng
.
standard_normal
((
7
,
7
)
)
.
astype
(
"float32"
)
# Should work
mode
=
DebugMode
(
check_preallocated_output
=
[
"c_contiguous"
])
...
...
@@ -805,5 +805,5 @@ class TestPreallocatedOutput:
c
,
r
=
VecAsRowAndCol
()(
v
)
f
=
function
([
v
],
[
c
,
r
])
v_val
=
self
.
rng
.
randn
(
5
)
.
astype
(
"float32"
)
v_val
=
self
.
rng
.
standard_normal
((
5
)
)
.
astype
(
"float32"
)
f
(
v_val
)
tests/compile/test_misc.py
浏览文件 @
39c11472
...
...
@@ -54,8 +54,8 @@ class NNet:
def
test_nnet
():
rng
=
np
.
random
.
RandomState
(
1827
)
data
=
rng
.
rand
(
10
,
4
)
rng
=
np
.
random
.
default_rng
(
279
)
data
=
rng
.
rand
om
((
10
,
4
)
)
nnet
=
NNet
(
n_input
=
3
,
n_hidden
=
10
)
for
epoch
in
range
(
3
):
mean_cost
=
0
...
...
@@ -66,7 +66,8 @@ def test_nnet():
mean_cost
+=
cost
mean_cost
/=
float
(
len
(
data
))
# print 'Mean cost at epoch %s: %s' % (epoch, mean_cost)
assert
abs
(
mean_cost
-
0.20588975452
)
<
1e-6
# Seed based test
assert
abs
(
mean_cost
-
0.2301901
)
<
1e-6
# Just call functions to make sure they do not crash.
nnet
.
compute_output
(
input
)
nnet
.
output_from_hidden
(
np
.
ones
(
10
))
tests/d3viz/models.py
浏览文件 @
39c11472
...
...
@@ -11,7 +11,7 @@ class Mlp:
if
rng
is
None
:
rng
=
0
if
isinstance
(
rng
,
int
):
rng
=
np
.
random
.
RandomState
(
rng
)
rng
=
np
.
random
.
default_rng
(
rng
)
self
.
rng
=
rng
self
.
nfeatures
=
nfeatures
self
.
noutputs
=
noutputs
...
...
tests/d3viz/test_d3viz.py
浏览文件 @
39c11472
...
...
@@ -19,7 +19,7 @@ if not pydot_imported:
class
TestD3Viz
:
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
RandomState
(
0
)
self
.
rng
=
np
.
random
.
default_rng
(
0
)
self
.
data_dir
=
pt
.
join
(
"data"
,
"test_d3viz"
)
def
check
(
self
,
f
,
reference
=
None
,
verbose
=
False
):
...
...
tests/d3viz/test_formatting.py
浏览文件 @
39c11472
...
...
@@ -13,7 +13,7 @@ from tests.d3viz import models
class
TestPyDotFormatter
:
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
RandomState
(
0
)
self
.
rng
=
np
.
random
.
default_rng
(
0
)
def
node_counts
(
self
,
graph
):
node_types
=
[
node
.
get_attributes
()[
"node_type"
]
for
node
in
graph
.
get_nodes
()]
...
...
tests/link/test_jax.py
浏览文件 @
39c11472
...
...
@@ -218,6 +218,8 @@ def test_jax_compile_ops():
def
test_jax_basic
():
rng
=
np
.
random
.
default_rng
(
28494
)
x
=
matrix
(
"x"
)
y
=
matrix
(
"y"
)
b
=
vector
(
"b"
)
...
...
@@ -259,7 +261,11 @@ def test_jax_basic():
out_fg
=
FunctionGraph
([
x
],
[
out
])
compare_jax_and_py
(
out_fg
,
[(
np
.
eye
(
10
)
+
np
.
random
.
randn
(
10
,
10
)
*
0.01
)
.
astype
(
config
.
floatX
)],
[
(
np
.
eye
(
10
)
+
rng
.
standard_normal
(
size
=
(
10
,
10
))
*
0.01
)
.
astype
(
config
.
floatX
)
],
)
# not sure why this isn't working yet with lower=False
...
...
@@ -267,7 +273,11 @@ def test_jax_basic():
out_fg
=
FunctionGraph
([
x
],
[
out
])
compare_jax_and_py
(
out_fg
,
[(
np
.
eye
(
10
)
+
np
.
random
.
randn
(
10
,
10
)
*
0.01
)
.
astype
(
config
.
floatX
)],
[
(
np
.
eye
(
10
)
+
rng
.
standard_normal
(
size
=
(
10
,
10
))
*
0.01
)
.
astype
(
config
.
floatX
)
],
)
out
=
aet_slinalg
.
solve
(
x
,
b
)
...
...
@@ -294,7 +304,11 @@ def test_jax_basic():
out_fg
=
FunctionGraph
([
x
],
[
out
])
compare_jax_and_py
(
out_fg
,
[(
np
.
eye
(
10
)
+
np
.
random
.
randn
(
10
,
10
)
*
0.01
)
.
astype
(
config
.
floatX
)],
[
(
np
.
eye
(
10
)
+
rng
.
standard_normal
(
size
=
(
10
,
10
))
*
0.01
)
.
astype
(
config
.
floatX
)
],
)
...
...
@@ -405,9 +419,9 @@ def test_jax_eye():
def
test_jax_basic_multiout
():
rng
=
np
.
random
.
default_rng
(
213234
)
np
.
random
.
seed
(
213234
)
M
=
np
.
random
.
normal
(
size
=
(
3
,
3
))
M
=
rng
.
normal
(
size
=
(
3
,
3
))
X
=
M
.
dot
(
M
.
T
)
x
=
matrix
(
"x"
)
...
...
@@ -638,7 +652,9 @@ def test_jax_Subtensors_omni():
reason
=
"Omnistaging cannot be disabled"
,
)
def
test_jax_IncSubtensor
():
x_np
=
np
.
random
.
uniform
(
-
1
,
1
,
size
=
(
3
,
4
,
5
))
.
astype
(
config
.
floatX
)
rng
=
np
.
random
.
default_rng
(
213234
)
x_np
=
rng
.
uniform
(
-
1
,
1
,
size
=
(
3
,
4
,
5
))
.
astype
(
config
.
floatX
)
x_aet
=
aet
.
arange
(
3
*
4
*
5
)
.
reshape
((
3
,
4
,
5
))
.
astype
(
config
.
floatX
)
# "Set" basic indices
...
...
@@ -661,7 +677,7 @@ def test_jax_IncSubtensor():
# "Set" advanced indices
st_aet
=
aet
.
as_tensor_variable
(
np
.
random
.
uniform
(
-
1
,
1
,
size
=
(
2
,
4
,
5
))
.
astype
(
config
.
floatX
)
rng
.
uniform
(
-
1
,
1
,
size
=
(
2
,
4
,
5
))
.
astype
(
config
.
floatX
)
)
out_aet
=
aet_subtensor
.
set_subtensor
(
x_aet
[
np
.
r_
[
0
,
2
]],
st_aet
)
assert
isinstance
(
out_aet
.
owner
.
op
,
aet_subtensor
.
AdvancedIncSubtensor1
)
...
...
@@ -707,7 +723,7 @@ def test_jax_IncSubtensor():
# "Increment" advanced indices
st_aet
=
aet
.
as_tensor_variable
(
np
.
random
.
uniform
(
-
1
,
1
,
size
=
(
2
,
4
,
5
))
.
astype
(
config
.
floatX
)
rng
.
uniform
(
-
1
,
1
,
size
=
(
2
,
4
,
5
))
.
astype
(
config
.
floatX
)
)
out_aet
=
aet_subtensor
.
inc_subtensor
(
x_aet
[
np
.
r_
[
0
,
2
]],
st_aet
)
assert
isinstance
(
out_aet
.
owner
.
op
,
aet_subtensor
.
AdvancedIncSubtensor1
)
...
...
@@ -1202,6 +1218,7 @@ def test_random_unimplemented():
compare_jax_and_py
(
fgraph
,
[])
@pytest.mark.xfail
(
reason
=
"Generators not yet supported in JAX"
)
def
test_RandomStream
():
srng
=
RandomStream
(
seed
=
123
)
out
=
srng
.
normal
()
-
srng
.
normal
()
...
...
@@ -1211,3 +1228,11 @@ def test_RandomStream():
jax_res_2
=
fn
()
assert
np
.
array_equal
(
jax_res_1
,
jax_res_2
)
@pytest.mark.xfail
(
reason
=
"Generators not yet supported in JAX"
)
def
test_random_generators
():
rng
=
shared
(
np
.
random
.
default_rng
(
123
))
out
=
normal
(
rng
=
rng
)
fgraph
=
FunctionGraph
([
out
.
owner
.
inputs
[
0
]],
[
out
],
clone
=
False
)
compare_jax_and_py
(
fgraph
,
[])
tests/link/test_numba.py
浏览文件 @
39c11472
...
...
@@ -88,7 +88,7 @@ opts = OptimizationQuery(include=[None], exclude=["cxx_only", "BlasOpt"])
numba_mode
=
Mode
(
NumbaLinker
(),
opts
)
py_mode
=
Mode
(
"py"
,
opts
)
rng
=
np
.
random
.
RandomState
(
42849
)
rng
=
np
.
random
.
default_rng
(
42849
)
def
set_test_value
(
x
,
v
):
...
...
@@ -291,13 +291,13 @@ def test_create_numba_signature(v, expected, force_scalar):
[
(
[
aet
.
vector
()],
[
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
)],
[
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
)],
lambda
x
:
aet
.
sigmoid
(
x
),
None
,
),
(
[
aet
.
vector
()
for
i
in
range
(
4
)],
[
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
)
for
i
in
range
(
4
)],
[
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
)
for
i
in
range
(
4
)],
lambda
x
,
y
,
x1
,
y1
:
(
x
+
y
)
*
(
x1
+
y1
)
*
y
,
None
,
),
...
...
@@ -311,8 +311,8 @@ def test_create_numba_signature(v, expected, force_scalar):
(
[
aet
.
vector
(),
aet
.
vector
()],
[
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
),
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
),
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
),
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
),
],
lambda
x
,
y
:
ati
.
add_inplace
(
x
,
y
),
None
,
...
...
@@ -320,8 +320,8 @@ def test_create_numba_signature(v, expected, force_scalar):
(
[
aet
.
vector
(),
aet
.
vector
()],
[
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
),
rng
.
randn
(
100
)
.
astype
(
config
.
floatX
),
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
),
rng
.
standard_normal
(
100
)
.
astype
(
config
.
floatX
),
],
lambda
x
,
y
:
my_multi_out
(
x
,
y
),
NotImplementedError
,
...
...
@@ -1954,7 +1954,9 @@ def test_MaxAndArgmax(x, axes, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
True
,
None
,
...
...
@@ -2004,7 +2006,9 @@ def test_Cholesky(x, lower, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
set_test_value
(
aet
.
dvector
(),
rng
.
random
(
size
=
(
3
,))
.
astype
(
"float64"
)),
"general"
,
...
...
@@ -2120,7 +2124,9 @@ y = np.array(
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
None
,
),
...
...
@@ -2160,7 +2166,9 @@ def test_Eig(x, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
"U"
,
UserWarning
,
...
...
@@ -2200,7 +2208,9 @@ def test_Eigh(x, uplo, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
None
,
),
...
...
@@ -2244,7 +2254,9 @@ def test_MatrixInverse(x, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
"reduced"
,
None
,
...
...
@@ -2252,7 +2264,9 @@ def test_MatrixInverse(x, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
"complete"
,
UserWarning
,
...
...
@@ -2303,7 +2317,9 @@ def test_QRFull(x, mode, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
True
,
True
,
...
...
@@ -2312,7 +2328,9 @@ def test_QRFull(x, mode, exc):
(
set_test_value
(
aet
.
lmatrix
(),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
randint
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)),
(
lambda
x
:
x
.
T
.
dot
(
x
))(
rng
.
integers
(
1
,
10
,
size
=
(
3
,
3
))
.
astype
(
"int64"
)
),
),
True
,
False
,
...
...
tests/sandbox/linalg/test_linalg.py
浏览文件 @
39c11472
...
...
@@ -41,9 +41,9 @@ def test_rop_lop():
)
scan_f
=
function
([
mx
,
mv
],
sy
)
rng
=
np
.
random
.
RandomState
(
utt
.
fetch_seed
())
vx
=
np
.
asarray
(
rng
.
randn
(
4
,
4
),
aesara
.
config
.
floatX
)
vv
=
np
.
asarray
(
rng
.
randn
(
4
,
4
),
aesara
.
config
.
floatX
)
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
vx
=
np
.
asarray
(
rng
.
standard_normal
((
4
,
4
)
),
aesara
.
config
.
floatX
)
vv
=
np
.
asarray
(
rng
.
standard_normal
((
4
,
4
)
),
aesara
.
config
.
floatX
)
v1
=
rop_f
(
vx
,
vv
)
v2
=
scan_f
(
vx
,
vv
)
...
...
@@ -75,13 +75,13 @@ def test_rop_lop():
def
test_spectral_radius_bound
():
tol
=
10
**
(
-
6
)
rng
=
np
.
random
.
RandomState
(
utt
.
fetch_seed
())
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
x
=
matrix
()
radius_bound
=
spectral_radius_bound
(
x
,
5
)
f
=
aesara
.
function
([
x
],
radius_bound
)
shp
=
(
3
,
4
)
m
=
rng
.
rand
(
*
shp
)
m
=
rng
.
rand
om
(
shp
)
m
=
np
.
cov
(
m
)
.
astype
(
config
.
floatX
)
radius_bound_aesara
=
f
(
m
)
...
...
tests/sandbox/test_minimal.py
浏览文件 @
39c11472
...
...
@@ -16,7 +16,7 @@ class TestMinimal:
"""
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
RandomState
(
utt
.
fetch_seed
(
666
))
self
.
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
(
666
))
def
test_minimal
(
self
):
A
=
matrix
()
...
...
@@ -26,7 +26,7 @@ class TestMinimal:
f
=
function
([
A
,
b
],
minimal
(
A
,
A
,
b
,
b
,
A
))
print
(
"built"
)
Aval
=
self
.
rng
.
randn
(
5
,
5
)
Aval
=
self
.
rng
.
standard_normal
((
5
,
5
)
)
bval
=
np
.
arange
(
5
,
dtype
=
float
)
f
(
Aval
,
bval
)
print
(
"done"
)
tests/sandbox/test_rng_mrg.py
浏览文件 @
39c11472
...
...
@@ -25,7 +25,6 @@ from tests import unittest_tools as utt
# TODO: test optimizer mrg_random_make_inplace
utt
.
seed_rng
()
# Results generated by Java code using L'Ecuyer et al.'s code, with:
# main seed: [12345]*6 (default)
...
...
@@ -90,7 +89,9 @@ def test_get_substream_rstates():
n_streams
=
100
dtype
=
"float32"
rng
=
MRG_RandomStream
(
np
.
random
.
randint
(
2147462579
))
rng
=
MRG_RandomStream
(
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
.
integers
(
2147462579
)
)
rng
.
get_substream_rstates
(
n_streams
,
dtype
)
...
...
@@ -889,13 +890,13 @@ def test_multMatVect():
f0
=
function
([
A1
,
s1
,
m1
,
A2
,
s2
,
m2
],
g0
)
i32max
=
np
.
iinfo
(
np
.
int32
)
.
max
A1
=
np
.
random
.
randint
(
0
,
i32max
,
(
3
,
3
))
.
astype
(
"int64"
)
s1
=
np
.
random
.
randint
(
0
,
i32max
,
3
)
.
astype
(
"int32"
)
m1
=
np
.
asarray
(
np
.
random
.
randint
(
i32max
),
dtype
=
"int32"
)
A2
=
np
.
random
.
randint
(
0
,
i32max
,
(
3
,
3
))
.
astype
(
"int64"
)
s2
=
np
.
random
.
randint
(
0
,
i32max
,
3
)
.
astype
(
"int32"
)
m2
=
np
.
asarray
(
np
.
random
.
randint
(
i32max
),
dtype
=
"int32"
)
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
A1
=
rng
.
integers
(
0
,
i32max
,
(
3
,
3
))
.
astype
(
"int64"
)
s1
=
rng
.
integers
(
0
,
i32max
,
3
)
.
astype
(
"int32"
)
m1
=
np
.
asarray
(
rng
.
integers
(
i32max
),
dtype
=
"int32"
)
A2
=
rng
.
integers
(
0
,
i32max
,
(
3
,
3
))
.
astype
(
"int64"
)
s2
=
rng
.
integers
(
0
,
i32max
,
3
)
.
astype
(
"int32"
)
m2
=
np
.
asarray
(
rng
.
integers
(
i32max
),
dtype
=
"int32"
)
f0
.
input_storage
[
0
]
.
storage
[
0
]
=
A1
f0
.
input_storage
[
1
]
.
storage
[
0
]
=
s1
...
...
@@ -964,7 +965,7 @@ def rng_mrg_overflow(sizes, fct, mode, should_raise_error):
@pytest.mark.slow
def
test_overflow_cpu
():
# run with AESARA_FLAGS=mode=FAST_RUN,device=cpu,floatX=float32
rng
=
MRG_RandomStream
(
np
.
random
.
randint
(
1234
))
rng
=
MRG_RandomStream
(
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
.
integers
(
1234
))
fct
=
rng
.
uniform
with
config
.
change_flags
(
compute_test_value
=
"off"
):
# should raise error as the size overflows
...
...
@@ -1107,8 +1108,10 @@ def test_target_parameter():
@config.change_flags
(
compute_test_value
=
"off"
)
def
test_undefined_grad_opt
():
# Make sure that undefined grad get removed in optimized graph.
random
=
MRG_RandomStream
(
np
.
random
.
randint
(
1
,
2147462579
))
pvals
=
shared
(
np
.
random
.
rand
(
10
,
20
)
.
astype
(
config
.
floatX
))
random
=
MRG_RandomStream
(
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
.
integers
(
1
,
2147462579
)
)
pvals
=
shared
(
np
.
random
.
random
((
10
,
20
))
.
astype
(
config
.
floatX
))
pvals
=
pvals
/
pvals
.
sum
(
axis
=
1
)
pvals
=
zero_grad
(
pvals
)
samples
=
random
.
multinomial
(
pvals
=
pvals
,
n
=
1
)
...
...
tests/scan/test_basic.py
浏览文件 @
39c11472
差异被折叠。
点击展开。
tests/scan/test_opt.py
浏览文件 @
39c11472
...
...
@@ -24,7 +24,7 @@ class TestGaussNewton:
"""
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
RandomState
(
utt
.
fetch_seed
())
self
.
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
def
_run
(
self
,
num_features
,
num_timesteps
,
batch_size
,
mode
):
# determine shapes of inputs and targets depending on the batch size
...
...
tests/sparse/sandbox/test_sp.py
浏览文件 @
39c11472
...
...
@@ -33,9 +33,9 @@ class TestSP:
bias
=
dvector
()
kerns
=
dmatrix
()
input
=
dmatrix
()
rng
=
np
.
random
.
RandomState
(
3423489
)
filters
=
rng
.
randn
(
nkern
,
np
.
prod
(
kshp
))
biasvals
=
rng
.
randn
(
nkern
)
rng
=
np
.
random
.
default_rng
(
3423489
)
filters
=
rng
.
standard_normal
((
nkern
,
np
.
prod
(
kshp
)
))
biasvals
=
rng
.
standard_normal
((
nkern
)
)
for
mode
in
(
"FAST_COMPILE"
,
"FAST_RUN"
):
ttot
,
ntot
=
0
,
0
...
...
@@ -133,7 +133,7 @@ class TestSP:
# symbolic stuff
kerns
=
[
dmatrix
(),
dmatrix
()]
input
=
dmatrix
()
# rng = np.random.
RandomState
(3423489)
# rng = np.random.
default_rng
(3423489)
# build actual input images
img2d
=
np
.
arange
(
bsize
*
np
.
prod
(
imshp
))
.
reshape
((
bsize
,)
+
imshp
)
...
...
@@ -184,7 +184,7 @@ class TestSP:
def
test_maxpool
(
self
):
# generate flatted images
maxpoolshps
=
((
2
,
2
),
(
3
,
3
),
(
4
,
4
),
(
5
,
5
),
(
6
,
6
))
imval
=
np
.
random
.
rand
(
4
,
5
,
10
,
10
)
imval
=
np
.
random
.
rand
om
((
4
,
5
,
10
,
10
)
)
images
=
dmatrix
()
for
maxpoolshp
in
maxpoolshps
:
...
...
tests/sparse/test_basic.py
浏览文件 @
39c11472
差异被折叠。
点击展开。
tests/tensor/test_sort.py
浏览文件 @
39c11472
...
...
@@ -34,9 +34,10 @@ _all_dtypes = integer_dtypes + float_dtypes
def
gen_unique_vector
(
size
,
dtype
):
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
# generate a randomized vector with unique elements
retval
=
np
.
arange
(
size
)
*
3.0
+
np
.
random
.
uniform
(
-
1.0
,
1.0
)
return
(
retval
[
np
.
random
.
permutation
(
size
)]
-
size
*
1.5
)
.
astype
(
dtype
)
retval
=
np
.
arange
(
size
)
*
3.0
+
rng
.
uniform
(
-
1.0
,
1.0
)
return
(
retval
[
rng
.
permutation
(
size
)]
-
size
*
1.5
)
.
astype
(
dtype
)
class
TestSort
:
...
...
@@ -97,81 +98,85 @@ class TestSort:
utt
.
assert_allclose
(
gv
,
gt
)
def
test_grad_vector
(
self
):
data
=
np
.
random
.
random
((
10
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
10
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
sort
,
[
data
])
def
test_grad_none_axis
(
self
):
data
=
np
.
random
.
random
((
10
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
10
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
None
),
[
data
])
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
0
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
None
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
None
),
[
data
])
def
test_grad_negative_axis_2d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
2
),
[
data
])
def
test_grad_negative_axis_3d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
2
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
3
),
[
data
])
def
test_grad_negative_axis_4d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
2
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
3
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
-
4
),
[
data
])
def
test_grad_nonnegative_axis_2d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
0
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
1
),
[
data
])
def
test_grad_nonnegative_axis_3d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
0
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
2
),
[
data
])
def
test_grad_nonnegative_axis_4d
(
self
):
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
0
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
2
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
self
.
rng
.
random
((
2
,
3
,
4
,
2
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
sort
(
x
,
3
),
[
data
])
class
TestSortInferShape
(
utt
.
InferShapeTester
):
def
setup_method
(
self
):
self
.
rng
=
np
.
random
.
default_rng
(
seed
=
utt
.
fetch_seed
())
super
()
.
setup_method
()
def
test_sort
(
self
):
x
=
matrix
()
self
.
_compile_and_check
(
[
x
],
[
sort
(
x
)],
[
np
.
random
.
randn
(
10
,
40
)
.
astype
(
aesara
.
config
.
floatX
)],
[
self
.
rng
.
standard_normal
(
size
=
(
10
,
40
)
)
.
astype
(
aesara
.
config
.
floatX
)],
SortOp
,
)
self
.
_compile_and_check
(
[
x
],
[
sort
(
x
,
axis
=
None
)],
[
np
.
random
.
randn
(
10
,
40
)
.
astype
(
aesara
.
config
.
floatX
)],
[
self
.
rng
.
standard_normal
(
size
=
(
10
,
40
)
)
.
astype
(
aesara
.
config
.
floatX
)],
SortOp
,
)
...
...
@@ -238,14 +243,15 @@ def test_argsort():
def
test_argsort_grad
():
rng
=
np
.
random
.
default_rng
(
seed
=
utt
.
fetch_seed
())
# Testing grad of argsort
data
=
np
.
random
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
rng
.
random
((
2
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
argsort
(
x
,
axis
=-
1
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
4
,
5
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
rng
.
random
((
2
,
3
,
4
,
5
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
argsort
(
x
,
axis
=-
3
),
[
data
])
data
=
np
.
random
.
random
((
2
,
3
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
data
=
rng
.
random
((
2
,
3
,
3
))
.
astype
(
aesara
.
config
.
floatX
)
utt
.
verify_grad
(
lambda
x
:
argsort
(
x
,
axis
=
2
),
[
data
])
...
...
@@ -434,10 +440,9 @@ class TestTopK:
assert
any
(
[
isinstance
(
n
.
op
,
self
.
op_class
)
for
n
in
fn
.
maker
.
fgraph
.
apply_nodes
]
)
xval
=
np
.
repeat
(
np
.
random
.
uniform
(
-
100.0
,
100.0
,
size
=
size
//
2
)
.
astype
(
dtype
),
2
)
xval
=
xval
[
np
.
random
.
permutation
(
size
)]
rng
=
np
.
random
.
default_rng
(
utt
.
fetch_seed
())
xval
=
np
.
repeat
(
rng
.
uniform
(
-
100.0
,
100.0
,
size
=
size
//
2
)
.
astype
(
dtype
),
2
)
xval
=
xval
[
rng
.
permutation
(
size
)]
yval
=
fn
(
xval
)
idx
=
slice
(
-
k
,
None
)
if
k
>
0
else
slice
(
-
k
)
goal
=
np
.
argsort
(
xval
)[
idx
]
.
astype
(
"int32"
)
...
...
tests/typed_list/test_basic.py
浏览文件 @
39c11472
...
...
@@ -27,7 +27,6 @@ from aesara.typed_list.basic import (
make_list
,
)
from
aesara.typed_list.type
import
TypedListType
from
tests
import
unittest_tools
as
utt
def
rand_ranged_matrix
(
minimum
,
maximum
,
shape
):
...
...
@@ -55,9 +54,6 @@ def random_lil(shape, dtype, nnz):
class
TestGetItem
:
def
setup_method
(
self
):
utt
.
seed_rng
()
def
test_sanity_check_slice
(
self
):
mySymbolicMatricesList
=
TypedListType
(
...
...
tests/typed_list/test_opt.py
浏览文件 @
39c11472
...
...
@@ -7,7 +7,7 @@ from aesara.compile.io import In
from
aesara.tensor.type
import
TensorType
,
matrix
,
scalar
from
aesara.typed_list.basic
import
Append
,
Extend
,
Insert
,
Remove
,
Reverse
from
aesara.typed_list.type
import
TypedListType
from
tests.tensor.utils
import
rand_ranged
from
tests.tensor.utils
import
rand
om
_ranged
class
TestInplace
:
...
...
@@ -26,9 +26,9 @@ class TestInplace:
)
assert
f
.
maker
.
fgraph
.
toposort
()[
0
]
.
op
.
inplace
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
assert
np
.
array_equal
(
f
([
x
,
y
]),
[
y
,
x
])
...
...
@@ -50,9 +50,9 @@ class TestInplace:
)
assert
f
.
maker
.
fgraph
.
toposort
()[
0
]
.
op
.
inplace
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
assert
np
.
array_equal
(
f
([
x
],
y
),
[
x
,
y
])
...
...
@@ -77,9 +77,9 @@ class TestInplace:
)
assert
f
.
maker
.
fgraph
.
toposort
()[
0
]
.
op
.
inplace
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
assert
np
.
array_equal
(
f
([
x
],
[
y
]),
[
x
,
y
])
...
...
@@ -105,9 +105,9 @@ class TestInplace:
)
assert
f
.
maker
.
fgraph
.
toposort
()[
0
]
.
op
.
inplace
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
assert
np
.
array_equal
(
f
([
x
],
np
.
asarray
(
1
,
dtype
=
"int64"
),
y
),
[
x
,
y
])
...
...
@@ -129,9 +129,9 @@ class TestInplace:
)
assert
f
.
maker
.
fgraph
.
toposort
()[
0
]
.
op
.
inplace
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
101
])
y
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
101
])
assert
np
.
array_equal
(
f
([
x
,
y
],
y
),
[
x
])
...
...
tests/typed_list/test_type.py
浏览文件 @
39c11472
...
...
@@ -5,14 +5,10 @@ import aesara
from
aesara.tensor.type
import
TensorType
from
aesara.typed_list.basic
import
TypedListVariable
from
aesara.typed_list.type
import
TypedListType
from
tests
import
unittest_tools
as
utt
from
tests.tensor.utils
import
rand_ranged
from
tests.tensor.utils
import
random_ranged
class
TestTypedListType
:
def
setup_method
(
self
):
utt
.
seed_rng
()
def
test_wrong_input_on_creation
(
self
):
# Typed list type should raises an
# error if the argument passed for
...
...
@@ -63,7 +59,7 @@ class TestTypedListType:
myType
=
TypedListType
(
TensorType
(
aesara
.
config
.
floatX
,
(
False
,
False
)))
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
100
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
100
])
assert
np
.
array_equal
(
myType
.
filter
([
x
]),
[
x
])
...
...
@@ -81,7 +77,7 @@ class TestTypedListType:
def
test_load_alot
(
self
):
myType
=
TypedListType
(
TensorType
(
aesara
.
config
.
floatX
,
(
False
,
False
)))
x
=
rand_ranged
(
-
1000
,
1000
,
[
10
,
10
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
10
,
10
])
testList
=
[]
for
i
in
range
(
10000
):
testList
.
append
(
x
)
...
...
@@ -95,7 +91,7 @@ class TestTypedListType:
myType
=
TypedListType
(
myNestedType
)
x
=
rand_ranged
(
-
1000
,
1000
,
[
100
,
100
])
x
=
rand
om
_ranged
(
-
1000
,
1000
,
[
100
,
100
])
assert
np
.
array_equal
(
myType
.
filter
([[
x
]]),
[[
x
]])
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论