class_docstr: Writes model logits to a file.
  
  The class is designed for use in an asynchronous process spawned by torch.multiprocessing.spawn, e.g.
    logits_writer = LogitsWriter(...)
    logits_writer_ctx = torch.multiprocessing.spawn(logits_writer.run, join=False)
    logits_writer_ctx.join()
class_docstr_tok: ["Writes","model","logits","to","a","file",".","The","class","is","designed","for","use","in","an","asynchronous","process","spawned","by","torch.multiprocessing.spawn",",","e.g",".","logits_writer","=","LogitsWriter","(","...",")","logits_writer_ctx","=","torch.multiprocessing.spawn","(","logits_writer.run",",","join=False",")","logits_writer_ctx.join","(",")"]
code: def __init__(
      self,
      results: torch.multiprocessing.Queue,
      output_path: str,
      use_gzip: bool,
      ndigits_precision: int,
  ):
      self.results = results
      self.output_path = output_path
      self.use_gzip = use_gzip
      self.ndigits_precision = ndigits_precision
  
imports: import gzip
  import json
  import os
  import sys
  import traceback
  from typing import Any, Dict, get_type_hints, IO, Iterator, List, Optional, Tuple, Union
  import torch
  from pytext.common.constants import Stage
  from pytext.config import ExportConfig, PyTextConfig, TestConfig
  from pytext.config.component import ComponentType, create_component, create_exporter
  from pytext.data.data import Batcher
  from pytext.data.data_handler import CommonMetadata
  from pytext.metric_reporters.channel import Channel
  from pytext.task import create_task, get_latest_checkpoint_path, load, NewTask, save, Task_Deprecated
  from pytext.task.disjoint_multitask import NewDisjointMultitask
  from pytext.trainers import TrainingState
  from pytext.utils import cuda, distributed, precision, round_seq, set_random_seeds, timing
  from pytext.utils.file_io import PathManager
label_desc: Use image node_id 1 to create a new LogitsWriter object  with example: obj = LogitsWriter(results, output_path, use_gzip, ndigits_precision)