code: def test_read_blob_sequences(self):
      res = data_provider_pb2.ReadBlobSequencesResponse()
      run = res.runs.add(run_name="test")
      tag = run.tags.add(tag_name="input_image")
      tag.data.step.extend([0, 1])
      tag.data.wall_time.extend([1234.0, 1235.0])
      seq0 = tag.data.values.add()
      seq0.blob_refs.add(blob_key="step0img0")
      seq0.blob_refs.add(blob_key="step0img1")
      seq1 = tag.data.values.add()
      seq1.blob_refs.add(blob_key="step1img0")
      self.stub.ReadBlobSequences.return_value = res
  
      actual = self.provider.read_blob_sequences(
          self.ctx,
          experiment_id="123",
          plugin_name="images",
          run_tag_filter=provider.RunTagFilter(runs=["test", "nope"]),
          downsample=4,
      )
      expected = {
          "test": {
              "input_image": [
                  provider.BlobSequenceDatum(
                      step=0,
                      wall_time=1234.0,
                      values=(
                          provider.BlobReference(blob_key="step0img0"),
                          provider.BlobReference(blob_key="step0img1"),
                      ),
                  ),
                  provider.BlobSequenceDatum(
                      step=1,
                      wall_time=1235.0,
                      values=(
                          provider.BlobReference(blob_key="step1img0"),
                      ),
                  ),
              ],
          },
      }
      self.assertEqual(actual, expected)
  
      req = data_provider_pb2.ReadBlobSequencesRequest()
      req.experiment_id = "123"
      req.plugin_filter.plugin_name = "images"
      req.run_tag_filter.runs.names.extend(["nope", "test"])  # sorted
      req.downsample.num_points = 4
      self.stub.ReadBlobSequences.assert_called_once_with(req)
  
imports: from unittest import mock
  import grpc
  import grpc_testing
  import numpy
  from tensorboard import errors
  from tensorboard import test
  from tensorboard import context
  from tensorboard.data import grpc_provider
  from tensorboard.data import provider
  from tensorboard.data.proto import data_provider_pb2
  from tensorboard.data.proto import data_provider_pb2_grpc
  from tensorboard.util import tensor_util
label_desc: Use image node_id 13 for calling the GrpcDataProviderTest obj's underlying member method code with example usage: obj.test_read_blob_sequences() without return types