code: def update_core(self):
      enc_optimizer = self.get_optimizer("enc")
      dec_optimizer = self.get_optimizer("dec")
      dis_optimizer = self.get_optimizer("dis")
  
      enc, dec, dis = self.enc, self.dec, self.dis
      xp = enc.xp
  
      batch = self.get_iterator("main").next()
      batchsize = len(batch)
      in_ch = batch[0][0].shape[0]
      out_ch = batch[0][1].shape[0]
      w_in = 256
      w_out = 256
  
      x_in = xp.zeros((batchsize, in_ch, w_in, w_in)).astype("f")
      t_out = xp.zeros((batchsize, out_ch, w_out, w_out)).astype("f")
  
      for i in range(batchsize):
          x_in[i, :] = xp.asarray(batch[i][0])
          t_out[i, :] = xp.asarray(batch[i][1])
  
      z = enc(x_in)
      x_out = dec(z)
  
      y_fake = dis(x_in, x_out)
      y_real = dis(x_in, t_out)
  
      enc_optimizer.update(self.loss_enc, enc, x_out, t_out, y_fake)
      for z_ in z:
          z_.unchain_backward()
      dec_optimizer.update(self.loss_dec, dec, x_out, t_out, y_fake)
      x_out.unchain_backward()
      dis_optimizer.update(self.loss_dis, dis, y_real, y_fake)
  
file_path: chainer/examples/pix2pix/updater.py
imports: from __future__ import print_function
  import chainer
  import chainer.functions
label_desc: Use image node_id 5 for calling the FacadeUpdater obj's underlying member method code with example usage: obj.update_core() without return types