code: def main():
      """
      Command-line tool to inspect model embeddings.
      """
      setup_main_logger(file_logging=False)
      params = argparse.ArgumentParser(
          description="Shows nearest neighbours of input tokens in the embedding space."
      )
      params.add_argument(
          "--model",
          "-m",
          required=True,
          help="Model folder to load config from.",
      )
      params.add_argument(
          "--checkpoint",
          "-c",
          required=False,
          type=int,
          default=None,
          help="Optional specific checkpoint to load parameters from. Best params otherwise.",
      )
      params.add_argument(
          "--side",
          "-s",
          required=True,
          choices=["source", "target"],
          help="what embeddings to look at",
      )
      params.add_argument(
          "--norm",
          "-n",
          action="store_true",
          help="normalize embeddings to unit length",
      )
      params.add_argument(
          "-k",
          type=int,
          default=5,
          help="Number of neighbours to print",
      )
      params.add_argument(
          "--gamma",
          "-g",
          type=float,
          default=1.0,
          help="Softmax distribution steepness.",
      )
      args = params.parse_args()
      embeddings(args)
  
file_path: sockeye/sockeye/embeddings.py
imports: import argparse
  import logging
  import sys
  from typing import Iterable, Tuple
  import torch
  import sockeye.constants
  from .None import model
  from .None import utils
  from .data_io import tokens2ids
  from .log import setup_main_logger
  from .utils import check_condition
  from .vocab import reverse_vocab
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types