code: def parse_args(hostname):
      """
      Parse input arguments.
      """
      parser = argparse.ArgumentParser(
          description="Train contextual bandit model using encrypted learning signal"
      )
      parser.add_argument(
          "--world_size",
          type=int,
          default=2,
          help="The number of parties to launch. Each party acts as its own process",
      )
      parser.add_argument(
          "--plaintext",
          action="store_true",
          help="use a non-private algorithm",
      )
      parser.add_argument(
          "--backend",
          default="mpc",
          type=str,
          help="crypten backend: mpc (default)",
      )
      parser.add_argument(
          "--mnist-split",
          default="train",
          type=str,
          help="The split from the MNIST dataset (default = train)",
      )
      parser.add_argument(
          "--mnist-dir",
          default=None,
          type=str,
          help="path to the dir of MNIST raw data files",
      )
      parser.add_argument(
          "--learner",
          default="epsilon_greedy",
          type=str,
          help="learning algorithm: epsilon_greedy or linucb",
      )
      parser.add_argument(
          "--epsilon",
          default=0.01,
          type=float,
          help="exploration parameter (default = 0.01)",
      )
      parser.add_argument(
          "--visualize",
          action="store_true",
          help="visualize results with visdom",
      )
      parser.add_argument(
          "--visdom",
          default=hostname,
          type=str,
          help="visdom server to use (default = %s)" % hostname,
      )
      parser.add_argument(
          "--pca",
          default=20,
          type=int,
          help="Number of PCA dimensions (0 for raw data)",
      )
      parser.add_argument(
          "--precision",
          default=20,
          type=int,
          help="Bits of precision for encoding floats.",
      )
      parser.add_argument(
          "--nr_iters",
          default=7,
          type=int,
          help="Newton-Rhapson iterations for mpc reciprocal",
      )
      parser.add_argument(
          "--number_arms",
          default=None,
          type=int,
          help="create arbitrary number of arms via k-means",
      )
      parser.add_argument(
          "--bandwidth",
          default=1.0,
          type=float,
          help="bandwidth of kernel used to assign rewards",
      )
      parser.add_argument(
          "--memoize_folder",
          default="/tmp/kmeans",
          type=str,
          help="folder to save k-means clusters",
      )
      parser.add_argument(
          "--checkpoint_folder",
          default=None,
          type=str,
          help="folder in which to checkpoint models",
      )
      parser.add_argument(
          "--checkpoint_every",
          default=1000,
          type=int,
          help="checkpoint every K iterations",
      )
      parser.add_argument(
          "--permfile",
          default=None,
          type=str,
          help="file with sampling permutation",
      )
      parser.add_argument(
          "--seed", default=None, type=int, help="Seed the torch rng"
      )
      parser.add_argument(
          "--multiprocess",
          default=False,
          action="store_true",
          help="Run example in multiprocess mode",
      )
      return parser.parse_args()
  
file_path: CrypTen/examples/bandits/launcher.py
imports: import argparse
  import logging
  import os
  import random
  import examples.util
  import torch
  import visdom
  from examples.multiprocess_launcher import MultiProcessLauncher
  from examples.util import NoopContextManager, process_mnist_files
  from torchvision.datasets.mnist import MNIST
label_desc: Use image node_id 5 for calling a global function with example usage: parse_args(hostname) and returns: parser