code: def test_set_custom_optimizer(
      self,
      model_sample,
      train_dataset,
      training_configs_learning_rate,
      optimizer_config,
  ):
      trainer = CoupledOptimizerTrainer(
          model=model_sample,
          train_dataset=train_dataset,
          training_config=training_configs_learning_rate,
      )
  
      trainer.set_encoder_optimizer()
      trainer.set_decoder_optimizer()
  
      assert issubclass(
          type(trainer.encoder_optimizer),
          getattr(
              torch.optim, optimizer_config["encoder_optimizer_cls"]
          ),
      )
      assert (
          trainer.encoder_optimizer.defaults["lr"]
          == training_configs_learning_rate.encoder_learning_rate
      )
      if optimizer_config["encoder_optimizer_params"] is not None:
          assert all(
              [
                  trainer.encoder_optimizer.defaults[key]
                  == optimizer_config["encoder_optimizer_params"][key]
                  for key in optimizer_config[
                      "encoder_optimizer_params"
                  ].keys()
              ]
          )
  
      assert issubclass(
          type(trainer.decoder_optimizer),
          getattr(
              torch.optim, optimizer_config["decoder_optimizer_cls"]
          ),
      )
      assert (
          trainer.decoder_optimizer.defaults["lr"]
          == training_configs_learning_rate.decoder_learning_rate
      )
      if optimizer_config["decoder_optimizer_params"] is not None:
          assert all(
              [
                  trainer.decoder_optimizer.defaults[key]
                  == optimizer_config["decoder_optimizer_params"][key]
                  for key in optimizer_config[
                      "decoder_optimizer_params"
                  ].keys()
              ]
          )
  
imports: import os
  from copy import deepcopy
  import pytest
  import torch
  from pythae.models import RAE_L2, RAE_L2_Config
  from pythae.trainers import CoupledOptimizerTrainer, CoupledOptimizerTrainerConfig
  from tests.data.custom_architectures import *
label_desc: Use image node_id 6 for calling the Test_Build_Optimizer obj's underlying member method code with example usage: obj.test_set_custom_optimizer(model_sample, train_dataset, training_configs_learning_rate, optimizer_config) without return types