class_docstr: Model card field base class.
  
  This is an abstract class. All the model card fields should inherit this class
  and override the _proto_type property to the corresponding proto type. This
  abstract class provides methods `from_proto`, `merge_from_proto` and
  `to_proto` to convert the class from and to proto. The child class does not
  need to override this unless it needs some special process.
docstr: Returns the number of items in a field. Ignores None values recursively,
  so the length of a field that only contains another field that has all None
  values would be 0.
docstr_tok: ["Returns","the","number","of","items","in","a","field",".","Ignores","None","values","recursively",",","so","the","length","of","a","field","that","only","contains","another","field","that","has","all","None","values","would","be","0","."]
code: def __len__(self) -> int:
      """Returns the number of items in a field. Ignores None values recursively,
      so the length of a field that only contains another field that has all None
      values would be 0.
      """
      return len(self.to_dict())
  
imports: import abc
  import dataclasses
  import json
  from textwrap import dedent
  from typing import Any, Dict, Type, TypeVar
  from warnings import warn
  from google.protobuf import descriptor, message
  from model_card_toolkit.utils import json_utils
label_desc: Use image node_id 1 for calling the BaseModelCardField obj's underlying member method code with example usage: obj.__len__() and returns: len