提交 0d80e16f authored 作者: Olivier Breuleux's avatar Olivier Breuleux

a

上级 5d254523
......@@ -800,6 +800,11 @@ class log(elemwise):
impl = numpy.log
def c_foreach((x_i, ), (z_i, )):
return "z_i = log(x_i);"
class log2(elemwise):
impl = numpy.log2
def c_foreach((x_i, ), (z_i, )):
return "z_i = log(x_i);"
## Element-wise division ##
......@@ -1023,6 +1028,7 @@ class dot(omega_op):
return dot(gz, transpose(y)), dot(transpose(x), gz)
def specs(x, y):
# todo: handle all tensors!
assert x[2][1] == y[2][0]
shape = (x[2][0], y[2][1])
return (numpy.ndarray, upcast(x[1], y[1]), shape)
def c_headers(self):
......
......@@ -223,8 +223,8 @@ class PythonOp(Op):
def _perform(self):
results = self._impl()
if self.nout == 1:
#self.out.set_value(results)
self.outputs[0].data = results
self.out.set_value(results)
# self.outputs[0].data = results
else:
assert self.nout == len(results)
for result, output in zip(results, self.outputs):
......
def perform_linker(env, target = None):
order = env.toposort()
thunks = [op.perform for op in order]
def ret():
for thunk in thunks:
thunk()
if not target:
return ret
else:
raise NotImplementedError("Cannot write thunk representation to a file.")
def perform_linker_nochecks(env, target = None):
order = env.toposort()
thunks = [op._perform for op in order]
def ret():
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论