提交 d1e75733 authored 作者: Arnaud Bergeron's avatar Arnaud Bergeron

Add a test for the pickle functionality.

上级 43af1eac
......@@ -10,8 +10,15 @@ from theano import tensor
from theano.tensor import dmatrix, dvector
from numpy import allclose
from theano.compile import as_op
import pickle
# This is for test_pickle, since the function still has to be
# reachable from pickle (as in it cannot be defined inline)
@as_op([dmatrix, dmatrix], dmatrix)
def mul(a, b):
return a*b
class OpDecoratorTests(utt.InferShapeTester):
def test_1arg(self):
x = dmatrix('x')
......@@ -59,3 +66,14 @@ class OpDecoratorTests(utt.InferShapeTester):
self._compile_and_check([x, y], [diag_mult(x, y)],
[[[1.5, 5], [2, 2]], [1, 100]],
diag_mult.__class__, warn=False)
def test_pickle(self):
x = dmatrix('x')
y = dmatrix('y')
m = mul(x, y)
s = pickle.dumps(m)
m2 = pickle.loads(s)
assert m2.owner.op == m.owner.op
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论