class_docstr: Manager for backend model objects
docstr: Update model weights file and various model properties
docstr_tok: ["Update","model","weights","file","and","various","model","properties"]
code: def update(
      self,
      model_file=None,
      design=None,
      labels=None,
      name=None,
      comment=None,
      tags=None,
      task_id=None,
      project_id=None,
      parent_id=None,
      uri=None,
      framework=None,
      upload_storage_uri=None,
      target_filename=None,
      iteration=None,
      system_tags=None,
  ):
      """Update model weights file and various model properties"""
  
      if self.id is None:
          if upload_storage_uri:
              self.upload_storage_uri = upload_storage_uri
          self._create_empty_model(
              self.upload_storage_uri, project_id=project_id
          )
      elif upload_storage_uri:
          self.upload_storage_uri = upload_storage_uri
  
      if model_file and uri:
          Model._local_model_to_id_uri[str(model_file)] = (
              self.model_id,
              uri,
          )
  
      # upload model file if needed and get uri
      uri = uri or (
          self._upload_model(
              model_file, target_filename=target_filename
          )
          if model_file
          else self.data.uri
      )
      # update fields
      design = self._wrap_design(design) if design else self.data.design
      name = name or self.data.name
      comment = comment or self.data.comment
      labels = labels or self.data.labels
      task = task_id or self.data.task
      project = project_id or self.data.project
      parent = parent_id or self.data.parent
      tags = tags or self.data.tags
      if Session.check_min_api_version("2.3"):
          system_tags = system_tags or self.data.system_tags
  
      self._edit(
          uri=uri,
          name=name,
          comment=comment,
          labels=labels,
          design=design,
          framework=framework or self.data.framework,
          iteration=iteration,
          task=task,
          project=project,
          parent=parent,
          tags=tags,
          system_tags=system_tags,
      )
  
imports: from collections import namedtuple
  from functools import partial
  import six
  from pathlib2 import Path
  from .base import IdObjectBase
  from .util import make_message
  from ..backend_api import Session
  from ..backend_api.services import models, tasks
  from ..storage import StorageManager
  from ..storage.helper import StorageHelper
  from ..utilities.async_manager import AsyncManagerMixin
label_desc: Use image node_id 11 for calling the Model obj's underlying member method code with example usage: obj.update(model_file, design, labels, name, comment, tags, task_id, project_id, parent_id, uri, framework, upload_storage_uri, target_filename, iteration, system_tags) without return types