class_docstr: Contains code meant to be executed by some `ModelOwner` Player.
  
  Args:
    player_name: `str`, name of the `tfe.player.Player`, representing the model owner.
    model_name: `str`, name of the model to be trained
    data_name: `str`, name of dataset that model trained on
docstr: Perform a single update step.
  
  This will be performed on the ModelOwner device
  after securely aggregating gradients.
  
  Args:
    *grads: `tfe.Tensor` representing the federally computed gradients.
docstr_tok: ["Perform","a","single","update","step",".","This","will","be","performed","on","the","ModelOwner","device","after","securely","aggregating","gradients",".","Args",":","*","grads",":","`","tfe.Tensor","`","representing","the","federally","computed","gradients","."]
code: def update_model(self, *grads):
      """Perform a single update step.
  
      This will be performed on the ModelOwner device
      after securely aggregating gradients.
  
      Args:
        *grads: `tfe.Tensor` representing the federally computed gradients.
      """
      self.update_func(*grads)
  
imports: import argparse
  import sys
  import tensorflow
  import tf_encrypted
  from tf_encrypted.keras.datasets import *
  from tf_encrypted.protocol import ABY3
  from tf_encrypted.protocol import Pond
  from tf_encrypted.protocol import SecureNN
label_desc: Use image node_id 5 for calling the ModelOwner obj's underlying member method code with example usage: obj.update_model() without return types