code: def test_benchmark_from_dataset_heterogeneous_data(self):
      d1 = AvalancheDataset(dummy_tensor_dataset())
      d2 = AvalancheDataset(dummy_tensor_dataset())
  
      d1b = AvalancheDataset(DummyImageDataset(n_classes=10))
      d2b = AvalancheDataset(DummyImageDataset(n_classes=10))
  
      bm = benchmark_from_datasets(train=[d1, d1b], test=[d2, d2b])
  
imports: import unittest
  import torch
  from numpy.testing import assert_almost_equal
  from torch.utils.data import TensorDataset, DataLoader
  from avalanche.benchmarks import benchmark_from_datasets, benchmark_with_validation_stream, CLScenario, CLStream, split_validation_random, task_incremental_benchmark
  from avalanche.benchmarks.scenarios.dataset_scenario import DatasetExperience, split_validation_class_balanced
  from avalanche.benchmarks.utils import AvalancheDataset
  from tests.unit_tests_utils import dummy_tensor_dataset, get_fast_benchmark, DummyImageDataset
label_desc: Use image node_id 2 for calling the DatasetScenarioTests obj's underlying member method code with example usage: obj.test_benchmark_from_dataset_heterogeneous_data() without return types