code: def train(
      self, encoder, data_loader, optimizer, epochs, per_epoch_out=False
  ):
      for enc, proj in super(SSLModel_2, self).train(
          encoder, data_loader, optimizer, epochs, per_epoch_out
      ):
          yield enc
  
file_path: DIG/test/sslgraph/evaluation/test_GraphSemisupervised.py
imports: import shutil
  from dig.sslgraph.evaluation import GraphSemisupervised
  from dig.sslgraph.utils import Encoder
  from dig.sslgraph.dataset import get_dataset
  from dig.sslgraph.method import GraphCL
  from dig.sslgraph.utils import setup_seed
  from dig.sslgraph.method.contrastive.views_fn import NodeAttrMask
  from dig.sslgraph.method import Contrastive
label_desc: Use image node_id 2 for calling the SSLModel_2 obj's underlying member method code with example usage: obj.train(encoder, data_loader, optimizer, epochs, per_epoch_out) without return types