code: def split_for_streaming(
      serialized_tensor: runtime_pb2.Tensor,
      chunk_size_bytes: int = STREAMING_CHUNK_SIZE_BYTES,
  ) -> Iterator[runtime_pb2.Tensor]:
      """Split serialized_tensor into multiple chunks for streaming"""
      buffer = memoryview(serialized_tensor.buffer)
      num_chunks = len(range(0, len(buffer), chunk_size_bytes))
      yield runtime_pb2.Tensor(
          compression=serialized_tensor.compression,
          buffer=buffer[:chunk_size_bytes].tobytes(),
          chunks=num_chunks,
          size=serialized_tensor.size,
          dtype=serialized_tensor.dtype,
          requires_grad=serialized_tensor.requires_grad,
      )
      for chunk_start in range(
          chunk_size_bytes, len(buffer), chunk_size_bytes
      ):
          yield runtime_pb2.Tensor(
              buffer=buffer[
                  chunk_start : chunk_start + chunk_size_bytes
              ].tobytes()
          )
  
imports: from __future__ import annotations
  from typing import Iterable, Iterator
  from hivemind.proto import runtime_pb2
  from hivemind.utils.logging import get_logger
label_desc: Use image node_id 1 for calling a global function with example usage: split_for_streaming(serialized_tensor, chunk_size_bytes) without return types