code: def test_bias_init(self, BiasLayer, init_b):
      input_shape = (2, 3, 4)
      # default: share biases over all but second axis
      b = BiasLayer(input_shape, b=init_b).b
      assert np.allclose(b.get_value(), init_b((3,)))
      # share over first axis only
      b = BiasLayer(input_shape, b=init_b, shared_axes=0).b
      assert np.allclose(b.get_value(), init_b((3, 4)))
      # share over second and third axis
      b = BiasLayer(input_shape, b=init_b, shared_axes=(1, 2)).b
      assert np.allclose(b.get_value(), init_b((2,)))
      # no bias
      b = BiasLayer(input_shape, b=None).b
      assert b is None
  
imports: from mock import Mock
  import numpy
  import pytest
  import theano
  from lasagne.layers import InputLayer, standardize, get_output, get_all_params
  from lasagne.utils import floatX
label_desc: Use image node_id 3 for calling the TestBiasLayer obj's underlying member method code with example usage: obj.test_bias_init(BiasLayer, init_b) without return types