code: def _build_shared(self, model):
      optimizer_params = self.model_params["optimizer_params"]
      with core.DeviceScope(core.DeviceOption(caffe2_pb2.CPU)):
          self.learning_rate = model.AddParam(
              name="learning_rate",
              init_value=float(optimizer_params["learning_rate"]),
              trainable=False,
          )
          self.global_step = model.AddParam(
              name="global_step",
              init_value=0,
              trainable=False,
          )
          self.start_time = model.AddParam(
              name="start_time",
              init_value=time.time(),
              trainable=False,
          )
  
imports: import argparse
  import collections
  import logging
  import math
  import numpy
  import random
  import time
  import sys
  import os
  import caffe2.proto.caffe2_pb2
  from caffe2.python import core, workspace, data_parallel_model
  import caffe2.python.models.seq2seq.seq2seq_util
  from caffe2.python.models.seq2seq.seq2seq_model_helper import Seq2SeqModelHelper
label_desc: Use image node_id 2 for calling the Seq2SeqModelCaffe2 obj's underlying member method code with example usage: obj._build_shared(model) without return types