code: def vtab_b_tasks(hyper):
      """Vision task with val and test splits."""
      # Note: steps, warmup and learning rate were tuned using vtab_ft_val.py.
      tasks = hyper.chainit(
          [
              # Resize, crop, flip
              task(
                  hyper,
                  "caltech101:3.*.*",
                  "train[:800]+train[2754:2954]",
                  "test",
                  102,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "diabetic_retinopathy_detection/btgraham-300:3.*.*",
                  "train[:800]+validation[:200]",
                  "test",
                  5,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "dtd:3.*.*",
                  "train[:800]+validation[:200]",
                  "test",
                  47,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "oxford_flowers102:2.*.*",
                  "train[:800]+validation[:200]",
                  "test",
                  102,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "oxford_iiit_pet:3.*.*",
                  "train[:800]+train[2944:3144]",
                  "test",
                  37,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "resisc45:3.*.*",
                  "train[:800]+train[18900:19100]",
                  "train[25200:]",
                  45,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "sun397/tfds:4.*.*",
                  "train[:800]+validation[:200]",
                  "test",
                  397,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "cifar100:3.*.*",
                  "train[:800]+train[45000:45200]",
                  "test",
                  100,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "eurosat/rgb:2.*.*",
                  "train[:800]+train[16200:16400]",
                  "train[21600:]",
                  10,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "patch_camelyon:2.*.*",
                  "train[:800]+validation[:200]",
                  "test",
                  2,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "smallnorb:2.*.*",
                  "train[:800]+test[:200]",
                  "test[50%%:]",
                  9,
                  label="label_elevation",
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "svhn_cropped:3.*.*",
                  "train[:800]+train[65931:66131]",
                  "test",
                  10,
                  crop=True,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              # Resize, crop
              task(
                  hyper,
                  "dsprites:2.*.*",
                  "train[:800]+train[589824:590024]",
                  "train[663552:]",
                  16,
                  base_pp='dsprites_pp("label_orientation",16)|',
                  crop=True,
                  flip=False,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "smallnorb:2.*.*",
                  "train[:800]+test[:200]",
                  "test[50%%:]",
                  18,
                  label="label_azimuth",
                  crop=True,
                  flip=False,
                  h_res=448,
                  l_res=384,
              ),
              # Resize, flip
              task(
                  hyper,
                  "clevr:3.*.*",
                  "train[:800]+train[63000:63200]",
                  "validation",
                  6,
                  base_pp='clevr_pp("closest_object_distance")|',
                  crop=False,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "clevr:3.*.*",
                  "train[:1000]+train[63000:63200]",
                  "validation",
                  8,
                  base_pp='clevr_pp("count_all")|',
                  crop=False,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "dmlab:2.0.1",
                  "train[:800]+validation[:200]",
                  "test",
                  6,
                  crop=False,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              task(
                  hyper,
                  "kitti:3.1.0",
                  "train[:800]+validation[:200]",
                  "test",
                  4,
                  base_pp='kitti_pp("closest_vehicle_distance")|',
                  crop=False,
                  flip=True,
                  h_res=448,
                  l_res=384,
              ),
              # Resize
              task(
                  hyper,
                  "dsprites:2.*.*",
                  "train[:800]+train[589824:590024]",
                  "train[663552:]",
                  16,
                  base_pp='dsprites_pp("label_x_position",16)|',
                  crop=False,
                  flip=False,
                  h_res=448,
                  l_res=384,
              ),
          ]
      )
      return tasks
  
imports: import ml_collections
label_desc: Use image node_id 4 for calling a global function with example usage: vtab_b_tasks(hyper) and returns: tasks