def METHOD_NAME(num_samples=10, num_epochs=10, gpus_per_trial=0):
    config = {
        "layer_1": tune.choice([32, 64, 128]),
        "layer_2": tune.choice([64, 128, 256]),
        "lr": tune.loguniform(1e-4, 1e-1),
        "batch_size": tune.choice([32, 64, 128]),
    }
    trainable = tune.with_parameters(train_mnist_tune,
                                     num_epochs=num_epochs,
                                     num_gpus=gpus_per_trial)
    analysis = tune.run(trainable,
                        resources_per_trial={
                            "cpu": 1,
                            "gpu": gpus_per_trial
                        },
                        metric="loss",
                        mode="min",
                        config=config,
                        num_samples=num_samples,
                        name="tune_mnist")
    print("Best hyperparameters found were: ", analysis.best_config)