clarifai 11.2.4rc3__py3-none-any.whl → 11.3.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. clarifai/__init__.py +1 -1
  2. clarifai/__pycache__/__init__.cpython-311.pyc +0 -0
  3. clarifai/__pycache__/errors.cpython-311.pyc +0 -0
  4. clarifai/__pycache__/versions.cpython-311.pyc +0 -0
  5. clarifai/cli/__pycache__/__init__.cpython-311.pyc +0 -0
  6. clarifai/cli/__pycache__/base.cpython-311.pyc +0 -0
  7. clarifai/cli/__pycache__/compute_cluster.cpython-311.pyc +0 -0
  8. clarifai/cli/__pycache__/deployment.cpython-311.pyc +0 -0
  9. clarifai/cli/__pycache__/model.cpython-311.pyc +0 -0
  10. clarifai/cli/__pycache__/nodepool.cpython-311.pyc +0 -0
  11. clarifai/client/__pycache__/__init__.cpython-311.pyc +0 -0
  12. clarifai/client/__pycache__/app.cpython-311.pyc +0 -0
  13. clarifai/client/__pycache__/base.cpython-311.pyc +0 -0
  14. clarifai/client/__pycache__/compute_cluster.cpython-311.pyc +0 -0
  15. clarifai/client/__pycache__/dataset.cpython-311.pyc +0 -0
  16. clarifai/client/__pycache__/deployment.cpython-311.pyc +0 -0
  17. clarifai/client/__pycache__/input.cpython-311.pyc +0 -0
  18. clarifai/client/__pycache__/lister.cpython-311.pyc +0 -0
  19. clarifai/client/__pycache__/model.cpython-311.pyc +0 -0
  20. clarifai/client/__pycache__/module.cpython-311.pyc +0 -0
  21. clarifai/client/__pycache__/nodepool.cpython-311.pyc +0 -0
  22. clarifai/client/__pycache__/search.cpython-311.pyc +0 -0
  23. clarifai/client/__pycache__/user.cpython-311.pyc +0 -0
  24. clarifai/client/__pycache__/workflow.cpython-311.pyc +0 -0
  25. clarifai/client/auth/__pycache__/__init__.cpython-311.pyc +0 -0
  26. clarifai/client/auth/__pycache__/helper.cpython-311.pyc +0 -0
  27. clarifai/client/auth/__pycache__/register.cpython-311.pyc +0 -0
  28. clarifai/client/auth/__pycache__/stub.cpython-311.pyc +0 -0
  29. clarifai/client/deployment.py +3 -1
  30. clarifai/client/model.py +7 -3
  31. clarifai/constants/__pycache__/base.cpython-311.pyc +0 -0
  32. clarifai/constants/__pycache__/dataset.cpython-311.pyc +0 -0
  33. clarifai/constants/__pycache__/input.cpython-311.pyc +0 -0
  34. clarifai/constants/__pycache__/model.cpython-311.pyc +0 -0
  35. clarifai/constants/__pycache__/rag.cpython-311.pyc +0 -0
  36. clarifai/constants/__pycache__/search.cpython-311.pyc +0 -0
  37. clarifai/constants/__pycache__/workflow.cpython-311.pyc +0 -0
  38. clarifai/datasets/__pycache__/__init__.cpython-311.pyc +0 -0
  39. clarifai/datasets/export/__pycache__/__init__.cpython-311.pyc +0 -0
  40. clarifai/datasets/export/__pycache__/inputs_annotations.cpython-311.pyc +0 -0
  41. clarifai/datasets/upload/__pycache__/__init__.cpython-311.pyc +0 -0
  42. clarifai/datasets/upload/__pycache__/base.cpython-311.pyc +0 -0
  43. clarifai/datasets/upload/__pycache__/features.cpython-311.pyc +0 -0
  44. clarifai/datasets/upload/__pycache__/image.cpython-311.pyc +0 -0
  45. clarifai/datasets/upload/__pycache__/multimodal.cpython-311.pyc +0 -0
  46. clarifai/datasets/upload/__pycache__/text.cpython-311.pyc +0 -0
  47. clarifai/datasets/upload/__pycache__/utils.cpython-311.pyc +0 -0
  48. clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-311.pyc +0 -0
  49. clarifai/datasets/upload/loaders/__pycache__/coco_detection.cpython-311.pyc +0 -0
  50. clarifai/datasets/upload/loaders/__pycache__/imagenet_classification.cpython-311.pyc +0 -0
  51. clarifai/rag/__pycache__/__init__.cpython-311.pyc +0 -0
  52. clarifai/rag/__pycache__/rag.cpython-311.pyc +0 -0
  53. clarifai/rag/__pycache__/utils.cpython-311.pyc +0 -0
  54. clarifai/runners/__pycache__/__init__.cpython-311.pyc +0 -0
  55. clarifai/runners/models/__pycache__/__init__.cpython-311.pyc +0 -0
  56. clarifai/runners/models/__pycache__/base_typed_model.cpython-311.pyc +0 -0
  57. clarifai/runners/models/__pycache__/model_builder.cpython-311.pyc +0 -0
  58. clarifai/runners/models/__pycache__/model_class.cpython-311.pyc +0 -0
  59. clarifai/runners/models/__pycache__/model_run_locally.cpython-311.pyc +0 -0
  60. clarifai/runners/models/__pycache__/model_runner.cpython-311.pyc +0 -0
  61. clarifai/runners/models/model_builder.py +14 -1
  62. clarifai/runners/models/model_class.py +4 -2
  63. clarifai/runners/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  64. clarifai/runners/utils/__pycache__/const.cpython-311.pyc +0 -0
  65. clarifai/runners/utils/__pycache__/data_handler.cpython-311.pyc +0 -0
  66. clarifai/runners/utils/__pycache__/data_utils.cpython-311.pyc +0 -0
  67. clarifai/runners/utils/__pycache__/loader.cpython-311.pyc +0 -0
  68. clarifai/runners/utils/__pycache__/url_fetcher.cpython-311.pyc +0 -0
  69. clarifai/runners/utils/data_handler.py +210 -271
  70. clarifai/runners/utils/data_types.py +3 -3
  71. clarifai/runners/utils/data_utils.py +8 -7
  72. clarifai/runners/utils/method_signatures.py +0 -8
  73. clarifai/schema/__pycache__/search.cpython-311.pyc +0 -0
  74. clarifai/urls/__pycache__/helper.cpython-311.pyc +0 -0
  75. clarifai/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  76. clarifai/utils/__pycache__/cli.cpython-311.pyc +0 -0
  77. clarifai/utils/__pycache__/config.cpython-311.pyc +0 -0
  78. clarifai/utils/__pycache__/constants.cpython-311.pyc +0 -0
  79. clarifai/utils/__pycache__/logging.cpython-311.pyc +0 -0
  80. clarifai/utils/__pycache__/misc.cpython-311.pyc +0 -0
  81. clarifai/utils/__pycache__/model_train.cpython-311.pyc +0 -0
  82. clarifai/utils/__pycache__/protobuf.cpython-311.pyc +0 -0
  83. clarifai/utils/evaluation/__pycache__/__init__.cpython-311.pyc +0 -0
  84. clarifai/utils/evaluation/__pycache__/helpers.cpython-311.pyc +0 -0
  85. clarifai/utils/evaluation/__pycache__/main.cpython-311.pyc +0 -0
  86. clarifai/utils/protobuf.py +143 -0
  87. clarifai/workflows/__pycache__/__init__.cpython-311.pyc +0 -0
  88. clarifai/workflows/__pycache__/export.cpython-311.pyc +0 -0
  89. clarifai/workflows/__pycache__/utils.cpython-311.pyc +0 -0
  90. clarifai/workflows/__pycache__/validate.cpython-311.pyc +0 -0
  91. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/METADATA +14 -3
  92. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/RECORD +96 -15
  93. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/WHEEL +1 -1
  94. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/LICENSE +0 -0
  95. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/entry_points.txt +0 -0
  96. {clarifai-11.2.4rc3.dist-info → clarifai-11.3.0rc1.dist-info}/top_level.txt +0 -0
clarifai/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "11.2.4rc3"
1
+ __version__ = "11.3.0rc1"
@@ -3,6 +3,7 @@ from clarifai_grpc.grpc.api import resources_pb2
3
3
  from clarifai.client.base import BaseClient
4
4
  from clarifai.client.lister import Lister
5
5
  from clarifai.utils.logging import logger
6
+ from clarifai.utils.protobuf import dict_to_protobuf
6
7
 
7
8
 
8
9
  class Deployment(Lister, BaseClient):
@@ -28,7 +29,8 @@ class Deployment(Lister, BaseClient):
28
29
  **kwargs: Additional keyword arguments to be passed to the deployment.
29
30
  """
30
31
  self.kwargs = {**kwargs, 'id': deployment_id, 'user_id': user_id}
31
- self.deployment_info = resources_pb2.Deployment(**self.kwargs)
32
+ self.deployment_info = resources_pb2.Deployment()
33
+ dict_to_protobuf(self.deployment_info, self.kwargs)
32
34
  self.logger = logger
33
35
  BaseClient.__init__(
34
36
  self,
clarifai/client/model.py CHANGED
@@ -32,7 +32,7 @@ from clarifai.utils.misc import BackoffIterator
32
32
  from clarifai.utils.model_train import (find_and_replace_key, params_parser,
33
33
  response_to_model_params, response_to_param_info,
34
34
  response_to_templates)
35
-
35
+ from clarifai.utils.protobuf import dict_to_protobuf
36
36
  MAX_SIZE_PER_STREAM = int(89_128_960) # 85GiB
37
37
  MIN_CHUNK_FOR_UPLOAD_FILE = int(5_242_880) # 5MiB
38
38
  MAX_CHUNK_FOR_UPLOAD_FILE = int(5_242_880_000) # 5GiB
@@ -73,8 +73,11 @@ class Model(Lister, BaseClient):
73
73
  user_id, app_id, _, model_id, model_version_id = ClarifaiUrlHelper.split_clarifai_url(url)
74
74
  model_version = {'id': model_version_id}
75
75
  kwargs = {'user_id': user_id, 'app_id': app_id}
76
+
76
77
  self.kwargs = {**kwargs, 'id': model_id, 'model_version': model_version, }
77
- self.model_info = resources_pb2.Model(**self.kwargs)
78
+ self.model_info = resources_pb2.Model()
79
+ dict_to_protobuf(self.model_info, self.kwargs)
80
+
78
81
  self.logger = logger
79
82
  self.training_params = {}
80
83
  self.input_types = None
@@ -983,7 +986,8 @@ class Model(Lister, BaseClient):
983
986
 
984
987
  dict_response = MessageToDict(response, preserving_proto_field_name=True)
985
988
  self.kwargs = self.process_response_keys(dict_response['model'])
986
- self.model_info = resources_pb2.Model(**self.kwargs)
989
+ self.model_info = resources_pb2.Model()
990
+ dict_to_protobuf(self.model_info, self.kwargs)
987
991
 
988
992
  def __str__(self):
989
993
  if len(self.kwargs) < 10:
@@ -43,6 +43,19 @@ def _clear_line(n: int = 1) -> None:
43
43
  print(LINE_UP, end=LINE_CLEAR, flush=True)
44
44
 
45
45
 
46
+ def is_related(object_class, main_class):
47
+ # Check if the object_class is a subclass of main_class
48
+ if issubclass(object_class, main_class):
49
+ return True
50
+
51
+ # Check if the object_class is a subclass of any of the parent classes of main_class
52
+ parent_classes = object_class.__bases__
53
+ for parent in parent_classes:
54
+ if main_class in parent.__bases__:
55
+ return True
56
+ return False
57
+
58
+
46
59
  class ModelBuilder:
47
60
  DEFAULT_CHECKPOINT_SIZE = 50 * 1024**3 # 50 GiB
48
61
 
@@ -125,7 +138,7 @@ class ModelBuilder:
125
138
  # Find all classes in the model.py file that are subclasses of ModelClass
126
139
  classes = [
127
140
  cls for _, cls in inspect.getmembers(module, inspect.isclass)
128
- if issubclass(cls, ModelClass) and cls.__module__ == module.__name__
141
+ if is_related(cls, ModelClass) and cls.__module__ == module.__name__
129
142
  ]
130
143
  # Ensure there is exactly one subclass of BaseRunner in the model.py file
131
144
  if len(classes) != 1:
@@ -1,3 +1,4 @@
1
+ import collections.abc as abc
1
2
  import inspect
2
3
  import itertools
3
4
  import logging
@@ -271,8 +272,9 @@ class ModelClass(ABC):
271
272
  if k not in python_param_types:
272
273
  continue
273
274
 
274
- if hasattr(python_param_types[k], "__args__") and getattr(python_param_types[k],
275
- "__origin__", None) == Iterator:
275
+ if hasattr(python_param_types[k],
276
+ "__args__") and (getattr(python_param_types[k], "__origin__",
277
+ None) in [abc.Iterator, abc.Generator, abc.Iterable]):
276
278
  # get the type of the items in the stream
277
279
  stream_type = python_param_types[k].__args__[0]
278
280