code: def compute_schema_hash(tensors: Sequence[torch.Tensor]) -> bytes:
      """A hash that describes follower's tensor shapes, dtypes, devices, but not the actual values"""
      schema_dicts = [
          {
              field_name: str(field_value)
              for field_name, field_value in asdict(
                  TensorDescriptor.from_tensor(tensor)
              ).items()
          }
          for tensor in tensors
      ]
      return DHTID.generate(source=schema_dicts).to_bytes()
  
imports: from __future__ import annotations
  import asyncio
  import contextlib
  import ctypes
  import multiprocessing
  import os
  import random
  import signal
  import threading
  import weakref
  from dataclasses import asdict
  from typing import Any, AsyncIterator, Dict, Optional, Sequence, Tuple, Union
  import numpy
  import torch
  from hivemind.averaging.allreduce import AllreduceException, AllReduceRunner, AveragingMode, GroupID
  from hivemind.averaging.control import AveragingStage, StepControl
  from hivemind.averaging.group_info import GroupInfo
  from hivemind.averaging.load_balancing import load_balance_peers
  from hivemind.averaging.matchmaking import Matchmaking, MatchmakingException
  from hivemind.averaging.partition import DEFAULT_PART_SIZE_BYTES
  from hivemind.compression import CompressionBase, CompressionInfo, NoCompression, deserialize_torch_tensor
  from hivemind.dht import DHT, DHTID
  from hivemind.p2p import P2P, P2PContext, P2PDaemonError, P2PHandlerError, PeerID, ServicerBase
  from hivemind.proto import averaging_pb2
  from hivemind.utils import MPFuture, TensorDescriptor, get_logger
  from hivemind.utils.asyncio import achain, aiter_with_timeout, anext, as_aiter, azip, enter_asynchronously, switch_to_uvloop
  from hivemind.utils.serializer import MSGPackSerializer, SerializerBase
  from hivemind.utils.streaming import combine_from_streaming, split_for_streaming
  from hivemind.utils.timed_storage import DHTExpiration, ValueWithExpiration, get_dht_time
label_desc: Use image node_id 2 for calling a global function with example usage: compute_schema_hash(tensors) and returns: DHTID