def train_autoencoder()

in sing/train.py [0:0]


def train_autoencoder(args, **kwargs):
    checkpoint_path = args.checkpoint / "ae.torch" if args.checkpoint else None
    model = ConvolutionalAE(
        channels=args.ae_channels,
        stride=args.ae_stride,
        dimension=args.ae_dimension,
        kernel_size=args.ae_kernel,
        context_size=args.ae_context,
        rewrite_layers=args.ae_rewrite,
        window_name=args.ae_window,
        squared_window=args.ae_squared_window)
    advised_pad = model.decoder.strip + 512
    if args.pad != advised_pad:
        print("Warning, best padding for the current settings is {}, "
              "current value is {}.".format(advised_pad, args.pad))
    if args.ae_epochs:
        print("Training autoencoder")
        AutoencoderTrainer(
            suffix="_ae",
            model=model,
            epochs=args.ae_epochs,
            checkpoint_path=checkpoint_path,
            **kwargs).train()
    return model