code: def _make_binary_dataset(
      vocab: Dictionary,
      input_prefix: str,
      output_prefix: str,
      lang: tp.Optional[str],
      num_workers: int,
      args: Namespace,
  ):
      logger.info("[{}] Dictionary: {} types".format(lang, len(vocab)))
  
      binarizer = VocabularyDatasetBinarizer(
          vocab,
          append_eos=True,
      )
  
      input_file = "{}{}".format(
          input_prefix, ("." + lang) if lang is not None else ""
      )
      full_output_prefix = dataset_dest_prefix(
          args, output_prefix, lang
      )
  
      final_summary = FileBinarizer.multiprocess_dataset(
          input_file,
          args.dataset_impl,
          binarizer,
          full_output_prefix,
          vocab_size=len(vocab),
          num_workers=num_workers,
      )
  
      logger.info(
          f"[{lang}] {input_file}: {final_summary} (by {vocab.unk_word})"
      )
  
imports: import logging
  import os
  import shutil
  import sys
  import typing
  from argparse import Namespace
  from itertools import zip_longest
  from fairseq import options, tasks, utils
  from fairseq.binarizer import AlignmentDatasetBinarizer, FileBinarizer, VocabularyDatasetBinarizer
  from fairseq.data import Dictionary
label_desc: Use image node_id 8 for calling a global function with example usage: _make_binary_dataset(vocab, input_prefix, output_prefix, lang, num_workers, args) without return types