code: def test_sofm_weight_norm_after_training_with_custom_weights(self):
      sofm = algorithms.SOFM(
          n_inputs=2,
          n_outputs=3,
          distance="cos",
          learning_radius=1,
          features_grid=(3, 1),
          weight=X[(0, 2, 4), :].T,
          verbose=False,
      )
  
      actual_norms = np.linalg.norm(sofm.weight, axis=0)
      expected_norms = np.array([1, 1, 1])
      np.testing.assert_array_almost_equal(expected_norms, actual_norms)
  
      sofm.train(X, epochs=6)
  
      actual_norms = np.linalg.norm(sofm.weight, axis=0)
      expected_norms = np.array([1, 1, 1])
      np.testing.assert_array_almost_equal(expected_norms, actual_norms)
  
imports: import math
  import numpy
  from neupy import algorithms
  from neupy.exceptions import WeightInitializationError
  from neupy.algorithms.competitive import sofm
  from neupy.algorithms.competitive.neighbours import gaussian_df
  from base import BaseTestCase
label_desc: Use image node_id 8 for calling the SOFMTestCase obj's underlying member method code with example usage: obj.test_sofm_weight_norm_after_training_with_custom_weights() without return types