Пример #1
0
    def test_network(self, network, x, input, layer, layer2, unsupervised_layer, caplog):
        net = network(name='test_network', layers=[input, layer, unsupervised_layer])
        assert net.params == [layer.W, layer.b, unsupervised_layer.W, unsupervised_layer.b]
        net = network(name='test_network')
        net.add(input)
        net.add(layer)
        assert net.reguls == 0
        assert net.params == [layer.W, layer.b]
        assert net.name == 'test_network'
        assert net.has_unsupervised_layer is False
        net.add(unsupervised_layer)
        assert net.has_unsupervised_layer is True
        from yadll.utils import to_float_X
        x_val = to_float_X(np.random.random((50, 25)))
        assert (net.get_output().eval({x: x_val}) == unsupervised_layer.get_output().eval({x: x_val})).all()
        # Save and load Params
        net.save_params('test.yp')
        net2 = network(name='test_network', layers=[input, layer2, unsupervised_layer])

        def params_equal(params1, params2):
            for i in range(len(params1)):
                np.testing.assert_array_equal(params1[i].eval(),
                                              params2[i].eval())

        np.testing.assert_raises(AssertionError, params_equal,
                                 net.params, net2.params)
        net2.load_params('test.yp')
        params_equal(net.params, net2.params)

        caplog.setLevel(logging.ERROR)
        net3 = network(name=None)
        net3.add(input)
        net3.add(layer)
        net3.save_params('test.yp')
        assert 'Your network has no name. Please set one and try again.'in caplog.text()
        net3.load_params('test.yp')
        assert 'Network names are different. Saved network name is: test_network' in caplog.text()
Пример #2
0
def test_to_float_X():
    from yadll.utils import to_float_X
    x = np.asarray(np.random.normal(size=(10, 5)))
    assert to_float_X(x).dtype == theano.config.floatX