code: def sts_resource() -> (
      Generator[
          Tuple[List[InputExample], List[InputExample]], None, None
      ]
  ):
      sts_dataset_path = "datasets/stsbenchmark.tsv.gz"
      if not os.path.exists(sts_dataset_path):
          util.http_get(
              "https://sbert.net/datasets/stsbenchmark.tsv.gz",
              sts_dataset_path,
          )
  
      stsb_train_samples = []
      stsb_test_samples = []
      with gzip.open(sts_dataset_path, "rt", encoding="utf8") as fIn:
          reader = csv.DictReader(
              fIn, delimiter="\t", quoting=csv.QUOTE_NONE
          )
          for row in reader:
              score = (
                  float(row["score"]) / 5.0
              )  # Normalize score to range 0 ... 1
              inp_example = InputExample(
                  texts=[row["sentence1"], row["sentence2"]],
                  label=score,
              )
  
              if row["split"] == "test":
                  stsb_test_samples.append(inp_example)
              elif row["split"] == "train":
                  stsb_train_samples.append(inp_example)
      yield stsb_train_samples, stsb_test_samples
  
file_path: sentence-transformers/tests/test_cross_encoder.py
imports: import csv
  import gzip
  import os
  import pytest
  from torch.utils.data import DataLoader
  from sentence_transformers import CrossEncoder, util
  from sentence_transformers.cross_encoder.evaluation import CECorrelationEvaluator
  from sentence_transformers.readers import InputExample
  from typing import Generator, List, Tuple
label_desc: Use image node_id 1 for calling a global function with example usage: sts_resource() without return types