code: def test_weave_gather():
      batch_size = 32
      n_input = 128
      gaussian_expand = True
      compress_post_gaussian_expansion = False
      init = "glorot_uniform"
      activation = "tanh"
  
      layer = dc.models.layers.WeaveGather(
          batch_size,
          n_input,
          gaussian_expand,
          compress_post_gaussian_expansion,
          init,
          activation,
      )
      config = layer.get_config()
      layer_copied = dc.models.layers.WeaveGather.from_config(config)
  
      assert layer_copied.batch_size == layer.batch_size
      assert layer_copied.n_input == layer.n_input
      assert layer_copied.gaussian_expand == layer.gaussian_expand
      assert (
          layer_copied.compress_post_gaussian_expansion
          == layer.compress_post_gaussian_expansion
      )
      assert layer_copied.init == layer.init
      assert layer_copied.activation == layer.activation
  
imports: import deepchem
  import pytest
label_desc: Use image node_id 21 for calling a global function with example usage: test_weave_gather() without return types