def _forward_backward(self, shape):
        @simple_in_memory_settings
        class Model(ff.BaseModel):
            meanstd = ff.PickleFeature(
                    MeanStdNormalization,
                    store=False)

            pipeline = ff.PickleFeature(
                    PreprocessingPipeline,
                    needs=(meanstd,),
                    store=True)

        training = np.random.random_sample((100,) + shape)
        _id = Model.process(meanstd=training)
        model = Model(_id)

        data_shape = (10,) + shape
        data = np.random.random_sample(data_shape)
        result = model.pipeline.transform(data)
        self.assertEqual(data_shape, result.data.shape)
        inverted = result.inverse_transform()
        self.assertEqual(inverted.shape, data.shape)
        np.testing.assert_allclose(inverted, data)