code: def test_linear_scheduler(self):
      data = DynamicPoolingBatcherTest._get_dataset(dataset_size=100)
  
      batch_scheduler_config = BatcherSchedulerConfig(
          start_batch_size=32,
          end_batch_size=256,
          epoch_period=5,
          step_size=1,
      )
  
      batcher_config = DynamicPoolingBatcher.Config(
          train_batch_size=1,
          eval_batch_size=1,
          test_batch_size=1,
          pool_num_batches=1,
          num_shuffled_pools=1,
          scheduler_config=batch_scheduler_config,
      )
  
      batcher = LinearDynamicPoolingBatcher.from_config(batcher_config)
  
      # epoch 1
      batches = [item for item in batcher.batchify(data)]
      self.assertEqual(len(batches[0].raw_data), 32)
  
      # epoch 2
      # new size ()(256-32) / 5) + 32 = 76.8 ~ 77
      batches = [item for item in batcher.batchify(data)]
      self.assertEqual(len(batches[0].raw_data), 77)
  
file_path: pytext/pytext/data/test/dynamic_pooling_batcher_test.py
imports: import unittest
  from typing import List
  from pytext.data.dynamic_pooling_batcher import BatcherSchedulerConfig, DynamicPoolingBatcher, ExponentialBatcherSchedulerConfig, ExponentialDynamicPoolingBatcher, LinearDynamicPoolingBatcher
  from pytext.data.sources import RawExample
  from pytext.utils.test import import_tests_module
label_desc: Use image node_id 2 for calling the DynamicPoolingBatcherTest obj's underlying member method code with example usage: obj.test_linear_scheduler() without return types