code: def make_timing_log(
      verb: str, duration: float, num_inputs: int, num_batches: int
  ) -> str:
      rps = humanize_float(
          num_inputs / duration if duration else math.inf
      )
      bps = humanize_float(
          num_batches / duration if duration else math.inf
      )
      return (
          f"{verb}: {num_inputs} records in {humanize_float(duration)}s ({rps} records/s), "
          f"in {num_batches} batches ({bps} batches/s)"
      )
  
imports: import collections
  import contextlib
  import copy
  import datetime
  import enum
  import errno
  import inspect
  import json
  import logging
  import math
  import numbers
  import os
  import pathlib
  import random
  import re
  import shutil
  import signal
  import socket
  import stat
  import subprocess
  import time
  import uuid
  from typing import Any, Callable, Dict, Iterator, List, Optional, Set, SupportsFloat, Tuple, Union, cast
  import psutil
  import determined
  from determined import constants
  from determined.common import check, detignore, util
label_desc: Use image node_id 15 for calling a global function with example usage: make_timing_log(verb, duration, num_inputs, num_batches) and returns: verb, str, num_inputs, str, humanize_float, str, rps, str, num_batches, str, bps, str