Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
cc4fc100
提交
cc4fc100
authored
3月 22, 2013
作者:
nouiz
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1298 from lamblin/fix_sparse_infershape
Fix ConstructSparseFromList.infer_shape
上级
7e4b6196
243ba500
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
28 行增加
和
12 行删除
+28
-12
basic.py
theano/sparse/basic.py
+4
-4
test_basic.py
theano/sparse/tests/test_basic.py
+24
-8
没有找到文件。
theano/sparse/basic.py
浏览文件 @
cc4fc100
...
...
@@ -3323,8 +3323,8 @@ class ConstructSparseFromList(gof.Op):
"""
:param x: a dense matrix that specify the output shape.
:param values: a dense matrix with the values to use for output.
:param ilist: a dense vector with the same leng
ht
as the number of rows
then
values. It specify where in the output to put
:param ilist: a dense vector with the same leng
th
as the number of rows
of
values. It specify where in the output to put
the corresponding rows.
This create a sparse matrix with the same shape as `x`. Its
...
...
@@ -3374,8 +3374,8 @@ class ConstructSparseFromList(gof.Op):
dtype
=
values
.
dtype
)
def
infer_shape
(
self
,
node
,
ishapes
):
x
,
y
,
ilist
=
ishapes
return
[
x
]
x
=
node
.
inputs
[
0
]
return
[
[
x
[
0
],
x
[
1
]]
]
def
R_op
(
self
,
inputs
,
eval_points
):
if
None
in
eval_points
[:
2
]:
...
...
theano/sparse/tests/test_basic.py
浏览文件 @
cc4fc100
...
...
@@ -24,7 +24,7 @@ from theano.sparse.basic import _is_dense, _is_sparse, _mtypes
from
theano.sparse.basic
import
_is_dense_variable
,
_is_sparse_variable
from
theano.sparse
import
(
verify_grad_sparse
,
as_sparse_variable
,
CSC
,
CS
R
,
CS
M
,
CSMProperties
,
csm_properties
,
CSC
,
CSM
,
CSMProperties
,
csm_properties
,
SparseType
,
CSMGrad
,
StructuredDot
,
StructuredDotGradCSC
,
StructuredDotGradCSR
,
...
...
@@ -34,12 +34,12 @@ from theano.sparse import (
Dot
,
Usmm
,
sp_ones_like
,
GetItemScalar
,
SparseFromDense
,
Cast
,
cast
,
HStack
,
VStack
,
AddSSData
,
add_s_s_data
,
structured_sigmoid
,
structured_exp
,
structured_log
,
structured_pow
,
structured_minimum
,
structured_maximum
,
structured_add
,
MulSV
,
mul_s_v
,
StructuredAddSV
,
structured_add_s_v
,
structured_minimum
,
structured_maximum
,
structured_add
,
mul_s_v
,
structured_add_s_v
,
SamplingDot
,
sampling_dot
,
Diag
,
diag
,
SquareDiagonal
,
square_diagonal
,
EnsureSortedIndices
,
ensure_sorted_indices
,
clean
)
EnsureSortedIndices
,
ensure_sorted_indices
,
clean
,
ConstructSparseFromList
,
construct_sparse_from_list
)
# Probability distributions are currently tested in test_sp2.py
#from theano.sparse import (
...
...
@@ -402,6 +402,21 @@ class SparseInferShapeTester(utt.InferShapeTester):
csc_from_dense
.
__class__
)
def
test_sparse_from_list
(
self
):
x
=
tensor
.
matrix
(
'x'
)
vals
=
tensor
.
matrix
(
'vals'
)
ilist
=
tensor
.
lvector
(
'ilist'
)
out
=
construct_sparse_from_list
(
x
,
vals
,
ilist
)
self
.
_compile_and_check
(
[
x
,
vals
,
ilist
],
[
out
],
[
numpy
.
zeros
((
40
,
10
),
dtype
=
config
.
floatX
),
numpy
.
random
.
randn
(
12
,
10
)
.
astype
(
config
.
floatX
),
numpy
.
random
.
randint
(
low
=
0
,
high
=
40
,
size
=
(
12
,))],
ConstructSparseFromList
)
class
T_AddMul
(
unittest
.
TestCase
):
def
testAddSS
(
self
):
...
...
@@ -1256,9 +1271,9 @@ class UsmmTests(unittest.TestCase):
isinstance
(
topo
[
2
]
.
op
.
scalar_op
,
theano
.
scalar
.
Mul
))
assert
(
isinstance
(
topo
[
3
]
.
op
,
theano
.
tensor
.
Elemwise
)
and
isinstance
(
topo
[
3
]
.
op
.
scalar_op
,
theano
.
scalar
.
Sub
))
elif
(
y
.
type
.
dtype
==
up
and
format1
==
'csc'
and
format2
==
'dense'
and
not
fast_compile
and
theano
.
config
.
cxx
and
up
in
(
'float32'
,
'float64'
)):
elif
(
y
.
type
.
dtype
==
up
and
format1
==
'csc'
and
format2
==
'dense'
and
not
fast_compile
and
theano
.
config
.
cxx
and
up
in
(
'float32'
,
'float64'
)):
# The op UsmmCscDense should be inserted
assert
(
sum
([
isinstance
(
node
.
op
,
tensor
.
Elemwise
)
and
isinstance
(
node
.
op
.
scalar_op
,
...
...
@@ -2063,6 +2078,7 @@ class CastTester(utt.InferShapeTester):
verify_grad_sparse
(
Cast
(
o_dtype
),
data
,
eps
=
eps
)
def
_format_info
(
nb
):
x
=
{}
mat
=
{}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论