예제 #1
0
        tasks = sample_tasks(dim, difficulties)
        print(tasks)

        network = MLP(
            input_shape=(in_dim, ),
            output_dim=out_dim,
            hidden_sizes=hidden_size,
            hidden_nonlinearity=NL.tanh,
            output_nonlinearity=None,
        )

        out_var = TT.matrix('out_var')
        prediction = network._output
        loss = lasagne.objectives.squared_error(prediction, out_var)
        loss = loss.mean()
        params = network.get_params(trainable=True)
        updates = lasagne.updates.adam(loss, params, learning_rate=0.001)
        train_fn = T.function([network.input_layer.input_var, out_var],
                              loss,
                              updates=updates,
                              allow_input_downcast=True)
        ls = TT.mean((prediction - out_var)**2)
        grad = T.grad(ls, params, disconnected_inputs='warn')
        grad_fn = T.function([network.input_layer.input_var, out_var],
                             grad,
                             allow_input_downcast=True)
        loss_fn = T.function([network.input_layer.input_var, out_var],
                             loss,
                             allow_input_downcast=True)
        out = T.function([network.input_layer.input_var],
                         prediction,
예제 #2
0
        tasks = sample_tasks(dim, difficulties)
        print(tasks)

        network = MLP(
                input_shape=(in_dim,),
                output_dim=out_dim,
                hidden_sizes=hidden_size,
                hidden_nonlinearity=NL.tanh,
                output_nonlinearity=None,
            )

        out_var = TT.matrix('out_var')
        prediction = network._output
        loss = lasagne.objectives.squared_error(prediction, out_var)
        loss = loss.mean()
        params = network.get_params(trainable=True)
        updates = lasagne.updates.sgd(loss, params, learning_rate=0.002)
        train_fn = T.function([network.input_layer.input_var, out_var], loss, updates=updates, allow_input_downcast=True)
        ls = TT.mean((prediction - out_var)**2)
        grad = T.grad(ls, params, disconnected_inputs='warn')
        grad_fn = T.function([network.input_layer.input_var, out_var], grad, allow_input_downcast=True)
        loss_fn = T.function([network.input_layer.input_var, out_var], loss, allow_input_downcast=True)
        out = T.function([network.input_layer.input_var], prediction, allow_input_downcast=True)

        Xs, Ys = synthesize_data(dim, 2000, tasks)
        train(train_fn, np.concatenate(Xs), np.concatenate(Ys), init_epochs)
        print('------- initial training complete ---------------')

        init_param_value = np.copy(network.get_param_values())

        Xs, Ys = synthesize_data(dim, 2000, tasks)
예제 #3
0
        tasks = sample_tasks(dim, difficulties)
        print(tasks)

        network = MLP(
            input_shape=(in_dim, ),
            output_dim=out_dim,
            hidden_sizes=hidden_size,
            hidden_nonlinearity=NL.tanh,
            output_nonlinearity=None,
        )

        out_var = TT.matrix('out_var')
        prediction = network._output
        loss = lasagne.objectives.squared_error(prediction, out_var)
        loss = loss.mean()
        params = network.get_params(trainable=True)
        updates = lasagne.updates.sgd(loss, params, learning_rate=0.002)
        train_fn = T.function([network.input_layer.input_var, out_var],
                              loss,
                              updates=updates,
                              allow_input_downcast=True)
        ls = TT.mean((prediction - out_var)**2)
        grad = T.grad(ls, params, disconnected_inputs='warn')
        grad_fn = T.function([network.input_layer.input_var, out_var],
                             grad,
                             allow_input_downcast=True)
        loss_fn = T.function([network.input_layer.input_var, out_var],
                             loss,
                             allow_input_downcast=True)
        out = T.function([network.input_layer.input_var],
                         prediction,
예제 #4
0
            tasks = sample_tasks(dim, difficulties)

            network = MLP(
                input_shape=(in_dim, ),
                output_dim=out_dim,
                hidden_sizes=hidden_size,
                hidden_nonlinearity=NL.tanh,
                output_nonlinearity=None,
            )

            out_var = TT.matrix('out_var')
            prediction = network._output
            loss = lasagne.objectives.squared_error(prediction, out_var)
            loss = loss.mean()
            params = network.get_params(trainable=True)
            updates = lasagne.updates.adam(loss, params, learning_rate=0.002)
            train_fn = T.function([network.input_layer.input_var, out_var],
                                  loss,
                                  updates=updates,
                                  allow_input_downcast=True)
            ls = TT.mean((prediction - out_var)**2)
            grad = T.grad(ls, params, disconnected_inputs='warn')
            grad_fn = T.function([network.input_layer.input_var, out_var],
                                 grad,
                                 allow_input_downcast=True)
            loss_fn = T.function([network.input_layer.input_var, out_var],
                                 loss,
                                 allow_input_downcast=True)
            out = T.function([network.input_layer.input_var],
                             prediction,