code: def test_custom_estimator_random_init(self):
      estimator = SEMEstimator(self.custom_lisrel)
      summary = estimator.fit(
          self.custom_data, method="ml", max_iter=10**6, opt="adam"
      )
      summary = estimator.fit(
          self.custom_data, method="uls", max_iter=10**6, opt="adam"
      )
      summary = estimator.fit(
          self.custom_data,
          method="gls",
          max_iter=10**6,
          opt="adam",
          W=np.ones((3, 3)),
      )
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_SEMEstimator.py
imports: import unittest
  import numpy
  import pandas
  import torch
  from pgmpy import config
  from pgmpy.estimators import IVEstimator, SEMEstimator
  from pgmpy.models import SEM, SEMGraph
label_desc: Use image node_id 5 for calling the TestSEMEstimator obj's underlying member method code with example usage: obj.test_custom_estimator_random_init() without return types