def get_parser()

in neural/__main__.py [0:0]


def get_parser():
    parser = argparse.ArgumentParser("neural", description="Train MEG predictor using forcings")
    parser.add_argument(
        "-o", "--out", type=Path, default=Path("dump"),
        help="Folder where checkpoints and metrics are saved.")
    parser.add_argument(
        "-R", "--restart", action='store_true', help='Restart training, ignoring previous run')
    parser.add_argument("--seed", type=int, default=42, help="Random seed")

    # Dataset related
    parser.add_argument(
        "-d", "--data", type=Path,
        required=True,
        help="Path to the data extracted.")
    parser.add_argument("-s", "--subjects", type=int, default=68,
                        help="Maximum number of subjects.")
    parser.add_argument("--pca", type=int, help="Use PCA version of the data. "
                                                "Should be the dimension of the PCA used.")
    parser.add_argument("-x", "--exclude", action="append", default=[], help="Exclude features")
    parser.add_argument("-i", "--include", action="append", default=[], help="Include features")

    # Optimization parameters
    parser.add_argument("-e", "--epochs", type=int, default=60,
                        help="Number of epochs to train for.")
    parser.add_argument("-b", "--batch-size", type=int, default=32)
    parser.add_argument("--lr", type=float, default=1e-4)
    parser.add_argument("--l1", action="store_true", help="Use L1 loss instead of MSE")

    # Parameters to the model
    parser.add_argument("--conv-layers", type=int, default=2,
                        help="Number of convolution layers in the encoder/decoder.")
    parser.add_argument("--lstm-layers", type=int, default=2,
                        help="Number of LSTM layers.")
    parser.add_argument("--conv-channels", type=int, default=512,
                        help="Output channels for convolutions.")
    parser.add_argument("--lstm-hidden", type=int, default=512,
                        help="Hidden dimension of the LSTM.")
    parser.add_argument("--subject-dim", type=int, default=16,
                        help="Dimension of the subject embedding.")

    # Other parameters
    parser.add_argument("--meg-init", type=int, default=40,
                        help="Number of MEG time steps to provide as basal state.")
    parser.add_argument("--no-forcings", action="store_false", dest="forcings", default=True,
                        help="Remove all forcings from the input.")
    parser.add_argument("--save-meg", action="store_true",
                        help="Save full MEG output for each subject.")

    return parser