def test_qrnn(self, backend): """ Test training of QRNNs using numpy arrays as input. """ set_backend(backend) qrnn = QRNN(self.x_train.shape[1], np.linspace(0.05, 0.95, 10)) qrnn.train((self.x_train, self.y_train), maximum_epochs=1) qrnn.predict(self.x_train) x, qs = qrnn.cdf(self.x_train[:2, :]) assert qs[0] == 0.0 assert qs[-1] == 1.0 x, y = qrnn.pdf(self.x_train[:2, :]) assert x.shape == y.shape mu = qrnn.posterior_mean(self.x_train[:2, :]) assert len(mu.shape) == 1 r = qrnn.sample_posterior(self.x_train[:4, :], n=2) assert r.shape == (4, 2) r = qrnn.sample_posterior_gaussian_fit(self.x_train[:4, :], n=2) assert r.shape == (4, 2)
def test_save_qrnn(self, backend): """ Test saving and loading of QRNNs. """ set_backend(backend) qrnn = QRNN(self.x_train.shape[1], np.linspace(0.05, 0.95, 10)) f = tempfile.NamedTemporaryFile() qrnn.save(f.name) qrnn_loaded = QRNN.load(f.name) x_pred = qrnn.predict(self.x_train) x_pred_loaded = qrnn.predict(self.x_train) if not type(x_pred) == np.ndarray: x_pred = x_pred.detach() assert np.allclose(x_pred, x_pred_loaded)