提交 6a0852fd authored 作者: Olivier Breuleux's avatar Olivier Breuleux

ported dot, gemm

上级 2fd6ea22
差异被折叠。
......@@ -12,12 +12,12 @@ import scalar_opt
def inputs(xbc = (0, 0), ybc = (0, 0), zbc = (0, 0)):
x = Tensor(broadcastable = xbc, dtype = 'float64', name = 'x')
y = Tensor(broadcastable = ybc, dtype = 'float64', name = 'y')
z = Tensor(broadcastable = zbc, dtype = 'float64', name = 'z')
x = Tensor(broadcastable = xbc, dtype = 'float64')('x')
y = Tensor(broadcastable = ybc, dtype = 'float64')('y')
z = Tensor(broadcastable = zbc, dtype = 'float64')('z')
return x, y, z
ds = gof.op.constructor(DimShuffle)
ds = DimShuffle
class _test_inplace_opt(unittest.TestCase):
......
......@@ -6,14 +6,6 @@ from copy import copy
from env import InconsistencyError
__all__ = ['Destroyer',
'Viewer',
'view_roots',
'DestroyHandler',
]
class DestroyHandler(Listener, Constraint, Orderings, Tool):
"""
This feature ensures that an env represents a consistent data flow
......@@ -488,13 +480,14 @@ def view_roots(r):
owner = r.owner
if owner is not None:
try:
view_map = owner.view_map()
except AttributeError, AbstractFunctionError:
view_map = owner.op.view_map
view_map = dict([(owner.outputs[o], i) for o, i in view_map.items()])
except AttributeError:
return [r]
if r in view_map:
answer = []
for r2 in view_map[r]:
answer += view_roots(r2)
for i in view_map[r]:
answer += view_roots(owner.inputs[i])
return answer
else:
return [r]
......
......@@ -24,7 +24,11 @@ class Op(object2):
raise AbstractFunctionError()
def __call__(self, *inputs):
return self.make_node(*inputs).out
node = self.make_node(*inputs)
if len(node.outputs) == 1:
return node.outputs[0]
else:
return node.outputs
#########################
......
......@@ -396,8 +396,14 @@ class _metadict:
return self.d[item]
except:
for item2, value in self.l:
if item == item2:
return value
try:
if item == item2:
return value
if item.equals(item2):
return value
except:
if item is item2:
return value
else:
return default
def clear(self):
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论