def test_pickling(self): data = np.random.uniform(size=(1000, 10)) minibatches = DataSampler(data, batchsize=50) gen = generator(minibatches) pickle.loads(pickle.dumps(gen)) bad_gen = generator(integers()) with pytest.raises(Exception): pickle.dumps(bad_gen)
def test_gen_cloning_with_shape_change(self): data = floatX(np.random.uniform(size=(1000, 10))) minibatches = DataSampler(data, batchsize=50) gen = generator(minibatches) gen_r = tt_rng().normal(size=gen.shape).T X = gen.dot(gen_r) res, _ = theano.scan(lambda x: x.sum(), X, n_steps=X.shape[0]) assert res.eval().shape == (50, ) shared = theano.shared(data) res2 = theano.clone(res, {gen: shared**2}) assert res2.eval().shape == (1000, )