Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
6e9e6d6b
提交
6e9e6d6b
authored
8月 14, 2012
作者:
lamblin
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #854 from nouiz/fix_test
Fix test
上级
0336b6d1
7b3fd950
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
44 行增加
和
29 行删除
+44
-29
test_modes.py
theano/compile/tests/test_modes.py
+2
-1
test_basic_ops.py
theano/sandbox/cuda/tests/test_basic_ops.py
+36
-23
basic.py
theano/sparse/basic.py
+3
-3
test_basic.py
theano/tensor/tests/test_basic.py
+3
-2
没有找到文件。
theano/compile/tests/test_modes.py
浏览文件 @
6e9e6d6b
...
@@ -61,7 +61,8 @@ class T_ProfileMode_WrapLinker(unittest.TestCase):
...
@@ -61,7 +61,8 @@ class T_ProfileMode_WrapLinker(unittest.TestCase):
copy
.
deepcopy
(
modified_mode
)
copy
.
deepcopy
(
modified_mode
)
# More straightforward test
# More straightforward test
assert
theano
.
compile
.
mode
.
get_default_mode
()
.
linker
.
fgraph
is
None
linker
=
theano
.
compile
.
mode
.
get_default_mode
()
.
linker
assert
not
hasattr
(
linker
,
"fgraph"
)
or
linker
.
fgraph
is
None
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
...
...
theano/sandbox/cuda/tests/test_basic_ops.py
浏览文件 @
6e9e6d6b
...
@@ -858,28 +858,38 @@ class T_subtensor(theano.tensor.tests.test_basic.T_subtensor):
...
@@ -858,28 +858,38 @@ class T_subtensor(theano.tensor.tests.test_basic.T_subtensor):
# The variable fast is used to set the member perform_using_take of
# The variable fast is used to set the member perform_using_take of
# the Op. It is only useful for testing that we use the fast
# the Op. It is only useful for testing that we use the fast
# version when we should. Users should not use it.
# version when we should. Users should not use it.
for
data
,
idx
,
fast
in
[(
rand
(
70000
),
range
(
70000
),
True
),
for
shape
,
idx
,
fast
in
[((
70000
,),
range
(
70000
),
True
),
(
rand
(
70000
,
5
),
range
(
70000
),
True
),
((
70000
,
5
),
range
(
70000
),
True
),
(
rand
(
70000
,
2
,
3
),
range
(
70000
),
True
),
((
70000
,
2
,
3
),
range
(
70000
),
True
),
(
rand
(
1025
,
1025
),
[
5
,
10
],
True
),
((
1025
,
1025
),
[
5
,
10
],
True
),
(
rand
(
3
,
1025
,
1026
),
[
1
,
2
],
True
),
((
3
,
1025
,
1026
),
[
1
,
2
],
True
),
(
rand
(
1025
,
67000
),
[
5
,
10
],
True
),
((
1025
,
67000
),
[
5
,
10
],
True
),
(
rand
(
3
,
10
,
68000
),
[
1
,
2
],
True
),
((
3
,
10
,
68000
),
[
1
,
2
],
True
),
(
rand
(
3
,
69000
,
11
),
[
1
,
2
],
True
),
((
3
,
69000
,
11
),
[
1
,
2
],
True
),
# use too much memory to enable by default.
# much memory, will be disabled if needed
#(rand(2*10e7), [-1, 199999999], True),
((
2
*
10e7
,),
[
-
1
,
199999999
],
True
),
(
rand
(
4
,
5
),
[
2
,
3
],
True
),
((
4
,
5
),
[
2
,
3
],
True
),
(
rand
(
4
,
2
,
3
),
[
0
,
3
],
True
),
((
4
,
2
,
3
),
[
0
,
3
],
True
),
(
rand
(
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
((
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
2
,
0
,
0
],
True
),
2
,
0
,
0
],
True
),
(
rand
(
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
2
,
0
,
((
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
2
,
0
,
0
,
-
1
,
-
2
,
-
3
,
-
4
],
True
),
0
,
-
1
,
-
2
,
-
3
,
-
4
],
True
),
# Test 4 dims as gpu. code use another algo
# Test 4 dims as gpu. code use another algo
# in that case. This new algo is not as much
# in that case. This new algo is not as much
# optimized for that case.
# optimized for that case.
(
rand
(
4
,
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
2
,
0
,
0
,
((
4
,
4
,
2
,
3
),
[
3
,
3
,
1
,
1
,
2
,
2
,
0
,
0
,
-
1
,
-
2
,
-
3
,
-
4
],
False
),
-
1
,
-
2
,
-
3
,
-
4
],
False
),
]:
]:
# If there is not enought memory on the GPU, skip the test
size_needed
=
numpy
.
prod
(
shape
)
*
(
4
+
1
)
if
isinstance
(
theano
.
compile
.
get_default_mode
(),
theano
.
compile
.
DebugMode
):
size_needed
=
numpy
.
prod
(
shape
)
*
4
*
4
if
size_needed
>=
theano
.
sandbox
.
cuda
.
mem_info
()[
0
]:
#print "skip", shape
continue
data
=
rand
(
*
shape
)
data
=
numpy
.
asarray
(
data
,
dtype
=
self
.
dtype
)
data
=
numpy
.
asarray
(
data
,
dtype
=
self
.
dtype
)
n
=
self
.
shared
(
data
,
borrow
=
True
)
n
=
self
.
shared
(
data
,
borrow
=
True
)
...
@@ -895,7 +905,10 @@ class T_subtensor(theano.tensor.tests.test_basic.T_subtensor):
...
@@ -895,7 +905,10 @@ class T_subtensor(theano.tensor.tests.test_basic.T_subtensor):
# Test with input strided
# Test with input strided
t
=
self
.
adv_sub1
()(
n
[::
-
1
],
idx
)
t
=
self
.
adv_sub1
()(
n
[::
-
1
],
idx
)
t
.
owner
.
op
.
perform_using_take
=
fast
#DebugMode do a copy of the input, so we loose the strides.
if
not
isinstance
(
theano
.
compile
.
get_default_mode
(),
theano
.
compile
.
DebugMode
):
t
.
owner
.
op
.
perform_using_take
=
fast
val
=
theano
.
function
([],
t
,
mode
=
self
.
mode
)()
val
=
theano
.
function
([],
t
,
mode
=
self
.
mode
)()
val
=
numpy
.
asarray
(
val
)
val
=
numpy
.
asarray
(
val
)
...
...
theano/sparse/basic.py
浏览文件 @
6e9e6d6b
...
@@ -3341,7 +3341,7 @@ class StructuredDot(gof.Op):
...
@@ -3341,7 +3341,7 @@ class StructuredDot(gof.Op):
:param a: A sparse matrix.
:param a: A sparse matrix.
:param b: A sparse or dense matrix.
:param b: A sparse or dense matrix.
:return: The dot product of `a` and `b`.
:return: The dot product of `a` and `b`
as a dense matrix
.
:note: The grad implemented is structured.
:note: The grad implemented is structured.
"""
"""
...
@@ -4425,8 +4425,8 @@ class Dot(gof.op.Op):
...
@@ -4425,8 +4425,8 @@ class Dot(gof.op.Op):
one or all operands is sparse. Supported format are CSC and CSR.
one or all operands is sparse. Supported format are CSC and CSR.
The output of the operation is dense.
The output of the operation is dense.
:param x:
M
atrix variable.
:param x:
sparse or dense m
atrix variable.
:param y:
M
atrix variable.
:param y:
sparse or dense m
atrix variable.
:return: The dot product `x`.`y` in a dense format.
:return: The dot product `x`.`y` in a dense format.
...
...
theano/tensor/tests/test_basic.py
浏览文件 @
6e9e6d6b
...
@@ -264,7 +264,7 @@ def makeTester(name, op, expected, checks=None, good=None, bad_build=None,
...
@@ -264,7 +264,7 @@ def makeTester(name, op, expected, checks=None, good=None, bad_build=None,
or
numpy
.
any
(
abs
(
variable
-
expected
)
>
eps
)):
or
numpy
.
any
(
abs
(
variable
-
expected
)
>
eps
)):
self
.
fail
((
"Test
%
s::
%
s: Output
%
s gave the wrong"
self
.
fail
((
"Test
%
s::
%
s: Output
%
s gave the wrong"
" value. With inputs
%
s, expected
%
s (dtype
%
s),"
" value. With inputs
%
s, expected
%
s (dtype
%
s),"
" got
%
s (dtype
%
s)."
" got
%
s (dtype
%
s).
eps=
%
f
"
" numpy.allclose returns
%
s
%
s"
)
%
(
" numpy.allclose returns
%
s
%
s"
)
%
(
self
.
op
,
self
.
op
,
testname
,
testname
,
...
@@ -274,6 +274,7 @@ def makeTester(name, op, expected, checks=None, good=None, bad_build=None,
...
@@ -274,6 +274,7 @@ def makeTester(name, op, expected, checks=None, good=None, bad_build=None,
expected
.
dtype
,
expected
.
dtype
,
variable
,
variable
,
variable
.
dtype
,
variable
.
dtype
,
eps
,
numpy
.
allclose
(
variable
,
expected
,
atol
=
eps
),
numpy
.
allclose
(
variable
,
expected
,
atol
=
eps
),
numpy
.
allclose
(
variable
,
expected
)))
numpy
.
allclose
(
variable
,
expected
)))
...
@@ -1352,7 +1353,7 @@ _grad_broadcast_unary_gammaln = dict(
...
@@ -1352,7 +1353,7 @@ _grad_broadcast_unary_gammaln = dict(
normal
=
(
rand_ranged
(
1e-8
,
10
,
(
2
,
3
)),),)
normal
=
(
rand_ranged
(
1e-8
,
10
,
(
2
,
3
)),),)
if
theano
.
config
.
floatX
==
'float32'
:
if
theano
.
config
.
floatX
==
'float32'
:
gamma_eps
=
2
e-4
gamma_eps
=
3
e-4
else
:
else
:
gamma_eps
=
2e-10
gamma_eps
=
2e-10
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论