clarifai 9.10.2__py3-none-any.whl → 9.10.3__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 (323) hide show
  1. clarifai/client/__init__.py +3 -2
  2. clarifai/client/app.py +39 -23
  3. clarifai/client/base.py +6 -6
  4. clarifai/client/dataset.py +113 -55
  5. clarifai/client/input.py +47 -55
  6. clarifai/client/model.py +27 -25
  7. clarifai/client/module.py +13 -11
  8. clarifai/client/runner.py +5 -3
  9. clarifai/client/search.py +7 -3
  10. clarifai/client/user.py +14 -8
  11. clarifai/client/workflow.py +22 -20
  12. clarifai/constants/dataset.py +22 -0
  13. clarifai/datasets/upload/base.py +9 -7
  14. clarifai/datasets/upload/features.py +3 -3
  15. clarifai/datasets/upload/image.py +49 -50
  16. clarifai/datasets/upload/loaders/coco_captions.py +26 -80
  17. clarifai/datasets/upload/loaders/coco_detection.py +56 -115
  18. clarifai/datasets/upload/loaders/coco_segmentation.py +69 -137
  19. clarifai/datasets/upload/loaders/imagenet_classification.py +2 -3
  20. clarifai/datasets/upload/loaders/xview_detection.py +3 -3
  21. clarifai/datasets/upload/text.py +16 -16
  22. clarifai/datasets/upload/utils.py +196 -21
  23. clarifai/utils/misc.py +21 -0
  24. clarifai/versions.py +1 -1
  25. {clarifai-9.10.2.dist-info → clarifai-9.10.3.dist-info}/METADATA +3 -3
  26. clarifai-9.10.3.dist-info/RECORD +96 -0
  27. clarifai-9.10.3.dist-info/top_level.txt +1 -0
  28. clarifai/auth/__init__.py +0 -6
  29. clarifai/auth/helper.py +0 -367
  30. clarifai/auth/register.py +0 -23
  31. clarifai/auth/stub.py +0 -127
  32. clarifai/datasets/upload/examples/README.md +0 -31
  33. clarifai/datasets/upload/examples/image_classification/__init__.py +0 -0
  34. clarifai/datasets/upload/examples/image_classification/cifar10/__init__.py +0 -0
  35. clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
  36. clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
  37. clarifai/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
  38. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
  39. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
  40. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
  41. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
  42. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
  43. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
  44. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
  45. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
  46. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
  47. clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
  48. clarifai/datasets/upload/examples/image_classification/food-101/__init__.py +0 -0
  49. clarifai/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
  50. clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
  51. clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
  52. clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
  53. clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
  54. clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
  55. clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
  56. clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
  57. clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
  58. clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
  59. clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
  60. clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
  61. clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
  62. clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
  63. clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
  64. clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
  65. clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
  66. clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
  67. clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
  68. clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
  69. clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
  70. clarifai/datasets/upload/examples/text_classification/__init__.py +0 -0
  71. clarifai/datasets/upload/examples/text_classification/imdb_dataset/__init__.py +0 -0
  72. clarifai/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
  73. clarifai/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
  74. clarifai/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
  75. clarifai/datasets/upload/loaders/README.md +0 -49
  76. clarifai/models/model_serving/README.md +0 -155
  77. clarifai/models/model_serving/docs/custom_config.md +0 -33
  78. clarifai/models/model_serving/docs/dependencies.md +0 -11
  79. clarifai/models/model_serving/docs/inference_parameters.md +0 -134
  80. clarifai/models/model_serving/docs/model_types.md +0 -20
  81. clarifai/models/model_serving/docs/output.md +0 -28
  82. clarifai/models/model_serving/examples/README.md +0 -7
  83. clarifai/models/model_serving/examples/image_classification/README.md +0 -9
  84. clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
  85. clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
  86. clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
  87. clarifai/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
  88. clarifai/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
  89. clarifai/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
  90. clarifai/models/model_serving/examples/text_classification/README.md +0 -9
  91. clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
  92. clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
  93. clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
  94. clarifai/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
  95. clarifai/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
  96. clarifai/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
  97. clarifai/models/model_serving/examples/text_embedding/README.md +0 -9
  98. clarifai/models/model_serving/examples/text_to_image/README.md +0 -9
  99. clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/__init__.py +0 -0
  100. clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
  101. clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/model.py +0 -60
  102. clarifai/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
  103. clarifai/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
  104. clarifai/models/model_serving/examples/text_to_text/README.md +0 -10
  105. clarifai/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
  106. clarifai/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
  107. clarifai/models/model_serving/examples/visual_detection/README.md +0 -11
  108. clarifai/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
  109. clarifai/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
  110. clarifai/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
  111. clarifai/models/model_serving/examples/visual_embedding/README.md +0 -9
  112. clarifai/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
  113. clarifai/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
  114. clarifai/models/model_serving/examples/visual_segmentation/README.md +0 -9
  115. clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
  116. clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
  117. clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
  118. clarifai/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
  119. clarifai/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
  120. clarifai/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
  121. clarifai/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
  122. clarifai/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
  123. clarifai/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
  124. clarifai/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
  125. clarifai/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
  126. clarifai/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
  127. clarifai/modules/README.md +0 -5
  128. clarifai/modules/style.css +0 -217
  129. clarifai-9.10.2.dist-info/RECORD +0 -386
  130. clarifai-9.10.2.dist-info/top_level.txt +0 -2
  131. clarifai_utils/__init__.py +0 -0
  132. clarifai_utils/auth/__init__.py +0 -6
  133. clarifai_utils/auth/helper.py +0 -367
  134. clarifai_utils/auth/register.py +0 -23
  135. clarifai_utils/auth/stub.py +0 -127
  136. clarifai_utils/cli.py +0 -0
  137. clarifai_utils/client/__init__.py +0 -16
  138. clarifai_utils/client/app.py +0 -684
  139. clarifai_utils/client/auth/__init__.py +0 -4
  140. clarifai_utils/client/auth/helper.py +0 -367
  141. clarifai_utils/client/auth/register.py +0 -23
  142. clarifai_utils/client/auth/stub.py +0 -127
  143. clarifai_utils/client/base.py +0 -131
  144. clarifai_utils/client/dataset.py +0 -442
  145. clarifai_utils/client/input.py +0 -892
  146. clarifai_utils/client/lister.py +0 -54
  147. clarifai_utils/client/model.py +0 -575
  148. clarifai_utils/client/module.py +0 -94
  149. clarifai_utils/client/runner.py +0 -161
  150. clarifai_utils/client/search.py +0 -254
  151. clarifai_utils/client/user.py +0 -253
  152. clarifai_utils/client/workflow.py +0 -223
  153. clarifai_utils/constants/model.py +0 -4
  154. clarifai_utils/constants/search.py +0 -2
  155. clarifai_utils/datasets/__init__.py +0 -0
  156. clarifai_utils/datasets/export/__init__.py +0 -0
  157. clarifai_utils/datasets/export/inputs_annotations.py +0 -222
  158. clarifai_utils/datasets/upload/__init__.py +0 -0
  159. clarifai_utils/datasets/upload/base.py +0 -66
  160. clarifai_utils/datasets/upload/examples/README.md +0 -31
  161. clarifai_utils/datasets/upload/examples/image_classification/__init__.py +0 -0
  162. clarifai_utils/datasets/upload/examples/image_classification/cifar10/__init__.py +0 -0
  163. clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
  164. clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
  165. clarifai_utils/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
  166. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
  167. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
  168. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
  169. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
  170. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
  171. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
  172. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
  173. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
  174. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
  175. clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
  176. clarifai_utils/datasets/upload/examples/image_classification/food-101/__init__.py +0 -0
  177. clarifai_utils/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
  178. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
  179. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
  180. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
  181. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
  182. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
  183. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
  184. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
  185. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
  186. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
  187. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
  188. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
  189. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
  190. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
  191. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
  192. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
  193. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
  194. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
  195. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
  196. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
  197. clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
  198. clarifai_utils/datasets/upload/examples/text_classification/__init__.py +0 -0
  199. clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/__init__.py +0 -0
  200. clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
  201. clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
  202. clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
  203. clarifai_utils/datasets/upload/features.py +0 -44
  204. clarifai_utils/datasets/upload/image.py +0 -165
  205. clarifai_utils/datasets/upload/loaders/README.md +0 -49
  206. clarifai_utils/datasets/upload/loaders/__init__.py +0 -0
  207. clarifai_utils/datasets/upload/loaders/coco_captions.py +0 -103
  208. clarifai_utils/datasets/upload/loaders/coco_detection.py +0 -134
  209. clarifai_utils/datasets/upload/loaders/coco_segmentation.py +0 -166
  210. clarifai_utils/datasets/upload/loaders/imagenet_classification.py +0 -59
  211. clarifai_utils/datasets/upload/loaders/xview_detection.py +0 -148
  212. clarifai_utils/datasets/upload/text.py +0 -53
  213. clarifai_utils/datasets/upload/utils.py +0 -63
  214. clarifai_utils/errors.py +0 -89
  215. clarifai_utils/models/__init__.py +0 -0
  216. clarifai_utils/models/api.py +0 -283
  217. clarifai_utils/models/model_serving/README.md +0 -155
  218. clarifai_utils/models/model_serving/__init__.py +0 -12
  219. clarifai_utils/models/model_serving/cli/__init__.py +0 -12
  220. clarifai_utils/models/model_serving/cli/deploy_cli.py +0 -123
  221. clarifai_utils/models/model_serving/cli/model_zip.py +0 -61
  222. clarifai_utils/models/model_serving/cli/repository.py +0 -87
  223. clarifai_utils/models/model_serving/constants.py +0 -1
  224. clarifai_utils/models/model_serving/docs/custom_config.md +0 -33
  225. clarifai_utils/models/model_serving/docs/dependencies.md +0 -11
  226. clarifai_utils/models/model_serving/docs/inference_parameters.md +0 -134
  227. clarifai_utils/models/model_serving/docs/model_types.md +0 -20
  228. clarifai_utils/models/model_serving/docs/output.md +0 -28
  229. clarifai_utils/models/model_serving/examples/README.md +0 -7
  230. clarifai_utils/models/model_serving/examples/image_classification/README.md +0 -9
  231. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/__init__.py +0 -0
  232. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/inference.py +0 -56
  233. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/model.py +0 -61
  234. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
  235. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
  236. clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
  237. clarifai_utils/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
  238. clarifai_utils/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
  239. clarifai_utils/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
  240. clarifai_utils/models/model_serving/examples/text_classification/README.md +0 -9
  241. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/__init__.py +0 -0
  242. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/inference.py +0 -55
  243. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/model.py +0 -61
  244. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
  245. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
  246. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
  247. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
  248. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
  249. clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
  250. clarifai_utils/models/model_serving/examples/text_embedding/README.md +0 -9
  251. clarifai_utils/models/model_serving/examples/text_to_image/README.md +0 -9
  252. clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/__init__.py +0 -0
  253. clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
  254. clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/model.py +0 -60
  255. clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
  256. clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
  257. clarifai_utils/models/model_serving/examples/text_to_text/README.md +0 -10
  258. clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/__init__.py +0 -0
  259. clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/inference.py +0 -47
  260. clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/model.py +0 -60
  261. clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
  262. clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
  263. clarifai_utils/models/model_serving/examples/visual_detection/README.md +0 -11
  264. clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/inference.py +0 -72
  265. clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/model.py +0 -61
  266. clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
  267. clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
  268. clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
  269. clarifai_utils/models/model_serving/examples/visual_embedding/README.md +0 -9
  270. clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/__init__.py +0 -0
  271. clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/inference.py +0 -51
  272. clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/model.py +0 -60
  273. clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
  274. clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
  275. clarifai_utils/models/model_serving/examples/visual_segmentation/README.md +0 -9
  276. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/__init__.py +0 -0
  277. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/inference.py +0 -55
  278. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/model.py +0 -60
  279. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
  280. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
  281. clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
  282. clarifai_utils/models/model_serving/model_config/__init__.py +0 -14
  283. clarifai_utils/models/model_serving/model_config/config.py +0 -302
  284. clarifai_utils/models/model_serving/model_config/inference_parameter.py +0 -124
  285. clarifai_utils/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
  286. clarifai_utils/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
  287. clarifai_utils/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
  288. clarifai_utils/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
  289. clarifai_utils/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
  290. clarifai_utils/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
  291. clarifai_utils/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
  292. clarifai_utils/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
  293. clarifai_utils/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
  294. clarifai_utils/models/model_serving/model_config/serializer.py +0 -134
  295. clarifai_utils/models/model_serving/models/__init__.py +0 -12
  296. clarifai_utils/models/model_serving/models/default_test.py +0 -275
  297. clarifai_utils/models/model_serving/models/inference.py +0 -42
  298. clarifai_utils/models/model_serving/models/model_types.py +0 -265
  299. clarifai_utils/models/model_serving/models/output.py +0 -124
  300. clarifai_utils/models/model_serving/models/pb_model.py +0 -74
  301. clarifai_utils/models/model_serving/models/test.py +0 -64
  302. clarifai_utils/models/model_serving/pb_model_repository.py +0 -101
  303. clarifai_utils/modules/README.md +0 -5
  304. clarifai_utils/modules/__init__.py +0 -0
  305. clarifai_utils/modules/css.py +0 -60
  306. clarifai_utils/modules/pages.py +0 -42
  307. clarifai_utils/modules/style.css +0 -217
  308. clarifai_utils/runners/__init__.py +0 -0
  309. clarifai_utils/runners/example.py +0 -33
  310. clarifai_utils/schema/search.py +0 -69
  311. clarifai_utils/urls/helper.py +0 -103
  312. clarifai_utils/utils/__init__.py +0 -0
  313. clarifai_utils/utils/logging.py +0 -90
  314. clarifai_utils/utils/misc.py +0 -33
  315. clarifai_utils/utils/model_train.py +0 -157
  316. clarifai_utils/versions.py +0 -6
  317. clarifai_utils/workflows/__init__.py +0 -0
  318. clarifai_utils/workflows/export.py +0 -68
  319. clarifai_utils/workflows/utils.py +0 -59
  320. clarifai_utils/workflows/validate.py +0 -67
  321. {clarifai-9.10.2.dist-info → clarifai-9.10.3.dist-info}/LICENSE +0 -0
  322. {clarifai-9.10.2.dist-info → clarifai-9.10.3.dist-info}/WHEEL +0 -0
  323. {clarifai-9.10.2.dist-info → clarifai-9.10.3.dist-info}/entry_points.txt +0 -0
@@ -1,442 +0,0 @@
1
- import os
2
- from concurrent.futures import ThreadPoolExecutor, as_completed
3
- from multiprocessing import cpu_count
4
- from typing import Generator, List, Tuple, TypeVar, Union
5
-
6
- import requests
7
- from clarifai_grpc.grpc.api import resources_pb2, service_pb2
8
- from clarifai_grpc.grpc.api.status import status_code_pb2, status_pb2
9
- from google.protobuf.json_format import MessageToDict
10
- from requests.adapters import HTTPAdapter, Retry
11
- from tqdm import tqdm
12
-
13
- from clarifai.client.base import BaseClient
14
- from clarifai.client.input import Inputs
15
- from clarifai.client.lister import Lister
16
- from clarifai.datasets.export.inputs_annotations import (DatasetExportReader,
17
- InputAnnotationDownloader)
18
- from clarifai.datasets.upload.image import (VisualClassificationDataset, VisualDetectionDataset,
19
- VisualSegmentationDataset)
20
- from clarifai.datasets.upload.text import TextClassificationDataset
21
- from clarifai.datasets.upload.utils import load_dataloader, load_module_dataloader
22
- from clarifai.errors import UserError
23
- from clarifai.urls.helper import ClarifaiUrlHelper
24
- from clarifai.utils.logging import get_logger
25
- from clarifai.utils.misc import Chunker
26
-
27
- ClarifaiDatasetType = TypeVar('ClarifaiDatasetType', VisualClassificationDataset,
28
- VisualDetectionDataset, VisualSegmentationDataset,
29
- TextClassificationDataset)
30
-
31
-
32
- class Dataset(Lister, BaseClient):
33
- """Dataset is a class that provides access to Clarifai API endpoints related to Dataset information."""
34
-
35
- def __init__(self,
36
- url_init: str = "",
37
- dataset_id: str = "",
38
- base_url: str = "https://api.clarifai.com",
39
- **kwargs):
40
- """Initializes a Dataset object.
41
-
42
- Args:
43
- url_init (str): The URL to initialize the dataset object.
44
- dataset_id (str): The Dataset ID within the App to interact with.
45
- base_url (str): Base API url. Default "https://api.clarifai.com"
46
- **kwargs: Additional keyword arguments to be passed to the Dataset.
47
- """
48
- if url_init != "" and dataset_id != "":
49
- raise UserError("You can only specify one of url_init or dataset_id.")
50
- if url_init != "":
51
- user_id, app_id, _, dataset_id, _ = ClarifaiUrlHelper.split_clarifai_url(url_init)
52
- kwargs = {'user_id': user_id, 'app_id': app_id}
53
- self.kwargs = {**kwargs, 'id': dataset_id}
54
- self.dataset_info = resources_pb2.Dataset(**self.kwargs)
55
- # Related to Dataset Upload
56
- self.num_workers: int = min(10, cpu_count()) #15 req/sec rate limit
57
- self.annot_num_workers = 4
58
- self.max_retires = 10
59
- self.chunk_size = 128 # limit max protos in a req
60
- self.task = None # Upload dataset type
61
- self.input_object = Inputs(user_id=self.user_id, app_id=self.app_id)
62
- self.logger = get_logger(logger_level="INFO")
63
- BaseClient.__init__(self, user_id=self.user_id, app_id=self.app_id, base=base_url)
64
- Lister.__init__(self)
65
-
66
- def create_version(self, **kwargs) -> 'Dataset':
67
- """Creates a dataset version for the Dataset.
68
-
69
- Args:
70
- **kwargs: Additional keyword arguments to be passed to Dataset Version.
71
- - description (str): The description of the dataset version.
72
- - metadata (dict): The metadata of the dataset version.
73
-
74
- Returns:
75
- Dataset: A Dataset object for the specified dataset ID.
76
-
77
- Example:
78
- >>> from clarifai.client.dataset import Dataset
79
- >>> dataset = Dataset(dataset_id='dataset_id', user_id='user_id', app_id='app_id')
80
- >>> dataset_version = dataset.create_version(description='dataset_version_description')
81
- """
82
- request = service_pb2.PostDatasetVersionsRequest(
83
- user_app_id=self.user_app_id,
84
- dataset_id=self.id,
85
- dataset_versions=[resources_pb2.DatasetVersion(**kwargs)])
86
-
87
- response = self._grpc_request(self.STUB.PostDatasetVersions, request)
88
- if response.status.code != status_code_pb2.SUCCESS:
89
- raise Exception(response.status)
90
- self.logger.info("\nDataset Version created\n%s", response.status)
91
- kwargs.update({
92
- 'dataset_id': self.id,
93
- 'app_id': self.app_id,
94
- 'user_id': self.user_id,
95
- 'version': response.dataset_versions[0],
96
- 'base_url': self.base
97
- })
98
- return Dataset(**kwargs)
99
-
100
- def delete_version(self, version_id: str) -> None:
101
- """Deletes a dataset version for the Dataset.
102
-
103
- Args:
104
- version_id (str): The version ID to delete.
105
-
106
- Example:
107
- >>> from clarifai.client.dataset import Dataset
108
- >>> dataset = Dataset(dataset_id='dataset_id', user_id='user_id', app_id='app_id')
109
- >>> dataset.delete_version(version_id='version_id')
110
- """
111
- request = service_pb2.DeleteDatasetVersionsRequest(
112
- user_app_id=self.user_app_id, dataset_id=self.id, dataset_version_ids=[version_id])
113
-
114
- response = self._grpc_request(self.STUB.DeleteDatasetVersions, request)
115
- if response.status.code != status_code_pb2.SUCCESS:
116
- raise Exception(response.status)
117
- self.logger.info("\nDataset Version Deleted\n%s", response.status)
118
-
119
- def list_versions(self, page_no: int = None,
120
- per_page: int = None) -> Generator['Dataset', None, None]:
121
- """Lists all the versions for the dataset.
122
-
123
- Args:
124
- page_no (int): The page number to list.
125
- per_page (int): The number of items per page.
126
-
127
- Yields:
128
- Dataset: Dataset objects for the versions of the dataset.
129
-
130
- Example:
131
- >>> from clarifai.client.dataset import Dataset
132
- >>> dataset = Dataset(dataset_id='dataset_id', user_id='user_id', app_id='app_id')
133
- >>> all_dataset_versions = list(dataset.list_versions())
134
-
135
- Note:
136
- Defaults to 16 per page if page_no is specified and per_page is not specified.
137
- If both page_no and per_page are None, then lists all the resources.
138
- """
139
- request_data = dict(
140
- user_app_id=self.user_app_id,
141
- dataset_id=self.id,
142
- )
143
- all_dataset_versions_info = self.list_pages_generator(
144
- self.STUB.ListDatasetVersions,
145
- service_pb2.ListDatasetVersionsRequest,
146
- request_data,
147
- per_page=per_page,
148
- page_no=page_no)
149
-
150
- for dataset_version_info in all_dataset_versions_info:
151
- dataset_version_info['id'] = dataset_version_info['dataset_version_id']
152
- del dataset_version_info['dataset_version_id']
153
- del dataset_version_info['metrics']
154
- kwargs = {
155
- 'dataset_id': self.id,
156
- 'app_id': self.app_id,
157
- 'user_id': self.user_id,
158
- 'version': resources_pb2.DatasetVersion(**dataset_version_info),
159
- 'base_url': self.base
160
- }
161
- yield Dataset(**kwargs)
162
-
163
- def _concurrent_annot_upload(self, annots: List[List[resources_pb2.Annotation]]
164
- ) -> Union[List[resources_pb2.Annotation], List[None]]:
165
- """Uploads annotations concurrently.
166
-
167
- Args:
168
- annots: annot protos
169
-
170
- Returns:
171
- retry_annot_upload: All failed annot protos during upload
172
- """
173
- annot_threads = []
174
- retry_annot_upload = []
175
-
176
- with ThreadPoolExecutor(max_workers=self.annot_num_workers) as executor: # limit annot workers
177
- annot_threads = [
178
- executor.submit(self.input_object.upload_annotations, inp_batch, False)
179
- for inp_batch in annots
180
- ]
181
-
182
- for job in as_completed(annot_threads):
183
- result = job.result()
184
- if result:
185
- retry_annot_upload.extend(result)
186
-
187
- return retry_annot_upload
188
-
189
- def _delete_failed_inputs(self, batch_input_ids: List[int],
190
- dataset_obj: ClarifaiDatasetType) -> Tuple[List[int], List[int]]:
191
- """Delete failed input ids from clarifai platform dataset.
192
-
193
- Args:
194
- batch_input_ids: batch input ids
195
- dataset_obj: ClarifaiDataset object
196
-
197
- Returns:
198
- success_inputs: upload success input ids
199
- failed_inputs: upload failed input ids
200
- """
201
- success_status = status_pb2.Status(code=status_code_pb2.INPUT_DOWNLOAD_SUCCESS)
202
- input_ids = {dataset_obj.all_input_ids[id]: id for id in batch_input_ids}
203
- response = self._grpc_request(
204
- self.STUB.ListInputs,
205
- service_pb2.ListInputsRequest(
206
- ids=list(input_ids.keys()),
207
- per_page=len(input_ids),
208
- user_app_id=self.user_app_id,
209
- status=success_status),
210
- )
211
- response_dict = MessageToDict(response)
212
- success_inputs = response_dict.get('inputs', [])
213
-
214
- success_input_ids = [input.get('id') for input in success_inputs]
215
- failed_input_ids = list(set(input_ids) - set(success_input_ids))
216
- #delete failed inputs
217
- self._grpc_request(
218
- self.STUB.DeleteInputs,
219
- service_pb2.DeleteInputsRequest(user_app_id=self.user_app_id, ids=failed_input_ids),
220
- )
221
- return [input_ids[id] for id in success_input_ids], [input_ids[id] for id in failed_input_ids]
222
-
223
- def _upload_inputs_annotations(self, batch_input_ids: List[int], dataset_obj: ClarifaiDatasetType
224
- ) -> Tuple[List[int], List[resources_pb2.Annotation]]:
225
- """Uploads batch of inputs and annotations concurrently to clarifai platform dataset.
226
-
227
- Args:
228
- batch_input_ids: batch input ids
229
- dataset_obj: ClarifaiDataset object
230
-
231
- Returns:
232
- failed_input_ids: failed input ids
233
- retry_annot_protos: failed annot protos
234
- """
235
- input_protos, _ = dataset_obj.get_protos(batch_input_ids)
236
- input_job_id = self.input_object.upload_inputs(inputs=input_protos, show_log=False)
237
- retry_annot_protos = []
238
-
239
- self.input_object._wait_for_inputs(input_job_id)
240
- success_input_ids, failed_input_ids = self._delete_failed_inputs(batch_input_ids, dataset_obj)
241
-
242
- if self.task in ["visual_detection", "visual_segmentation"]:
243
- _, annotation_protos = dataset_obj.get_protos(success_input_ids)
244
- chunked_annotation_protos = Chunker(annotation_protos, self.chunk_size).chunk()
245
- retry_annot_protos.extend(self._concurrent_annot_upload(chunked_annotation_protos))
246
-
247
- return failed_input_ids, retry_annot_protos
248
-
249
- def _retry_uploads(self, failed_input_ids: List[int],
250
- retry_annot_protos: List[resources_pb2.Annotation],
251
- dataset_obj: ClarifaiDatasetType) -> None:
252
- """Retry failed uploads.
253
-
254
- Args:
255
- failed_input_ids: failed input ids
256
- retry_annot_protos: failed annot protos
257
- dataset_obj: ClarifaiDataset object
258
- """
259
- if failed_input_ids:
260
- self._upload_inputs_annotations(failed_input_ids, dataset_obj)
261
- if retry_annot_protos:
262
- chunked_annotation_protos = Chunker(retry_annot_protos, self.chunk_size).chunk()
263
- _ = self._concurrent_annot_upload(chunked_annotation_protos)
264
-
265
- def _data_upload(self, dataset_obj: ClarifaiDatasetType) -> None:
266
- """Uploads inputs and annotations to clarifai platform dataset.
267
-
268
- Args:
269
- dataset_obj: ClarifaiDataset object
270
- """
271
- input_ids = list(range(len(dataset_obj)))
272
- chunk_input_ids = Chunker(input_ids, self.chunk_size).chunk()
273
- with ThreadPoolExecutor(max_workers=self.num_workers) as executor:
274
- with tqdm(total=len(chunk_input_ids), desc='Uploading Dataset') as progress:
275
- # Submit all jobs to the executor and store the returned futures
276
- futures = [
277
- executor.submit(self._upload_inputs_annotations, batch_input_ids, dataset_obj)
278
- for batch_input_ids in chunk_input_ids
279
- ]
280
-
281
- for job in as_completed(futures):
282
- retry_input_ids, retry_annot_protos = job.result()
283
- self._retry_uploads(retry_input_ids, retry_annot_protos, dataset_obj)
284
- progress.update()
285
-
286
- def upload_dataset(self,
287
- task: str,
288
- split: str,
289
- module_dir: str = None,
290
- dataset_loader: str = None,
291
- chunk_size: int = 128) -> None:
292
- """Uploads a dataset to the app.
293
-
294
- Args:
295
- task (str): task type(text_clf, visual-classification, visual_detection, visual_segmentation, visual-captioning)
296
- split (str): split type(train, test, val)
297
- module_dir (str): path to the module directory
298
- dataset_loader (str): name of the dataset loader
299
- chunk_size (int): chunk size for concurrent upload of inputs and annotations
300
- """
301
- self.chunk_size = min(self.chunk_size, chunk_size)
302
- self.task = task
303
- datagen_object = None
304
-
305
- if module_dir is None and dataset_loader is None:
306
- raise UserError("One of `from_module` and `dataset_loader` must be \
307
- specified. Both can't be None or defined at the same time.")
308
- elif module_dir is not None and dataset_loader is not None:
309
- raise UserError("Use either of `from_module` or `dataset_loader` \
310
- but NOT both.")
311
- elif module_dir is not None:
312
- datagen_object = load_module_dataloader(module_dir, split)
313
- else:
314
- datagen_object = load_dataloader(dataset_loader, split)
315
-
316
- if self.task == "text_clf":
317
- dataset_obj = TextClassificationDataset(datagen_object, self.id, split)
318
-
319
- elif self.task == "visual_detection":
320
- dataset_obj = VisualDetectionDataset(datagen_object, self.id, split)
321
-
322
- elif self.task == "visual_segmentation":
323
- dataset_obj = VisualSegmentationDataset(datagen_object, self.id, split)
324
-
325
- else: # visual_classification & visual_captioning
326
- dataset_obj = VisualClassificationDataset(datagen_object, self.id, split)
327
-
328
- self._data_upload(dataset_obj)
329
-
330
- def upload_from_csv(self,
331
- csv_path: str,
332
- input_type: str = 'text',
333
- csv_type: str = None,
334
- labels: bool = True,
335
- chunk_size: int = 128) -> None:
336
- """Uploads dataset from a csv file.
337
-
338
- Args:
339
- csv_path (str): path to the csv file
340
- input_type (str): type of the dataset(text, image)
341
- csv_type (str): type of the csv file(raw, url, file_path)
342
- labels (bool): True if csv file has labels column
343
- chunk_size (int): chunk size for concurrent upload of inputs and annotations
344
-
345
- Example:
346
- >>> from clarifai.client.dataset import Dataset
347
- >>> dataset = Dataset(user_id = 'user_id', app_id = 'demo_app', dataset_id = 'demo_dataset')
348
- >>> dataset.upload_from_csv(csv_path='csv_path', input_type='text', csv_type='raw, labels=True)
349
-
350
- Note:
351
- CSV file supports 'inputid', 'input', 'concepts', 'metadata', 'geopoints' columns.
352
- All the data in the CSV should be in double quotes.
353
- metadata should be in single quotes format. Example: "{'key': 'value'}"
354
- geopoints should be in "long,lat" format.
355
- """
356
- if input_type not in ['image', 'text', 'video', 'audio']:
357
- raise UserError('Invalid input type, it should be image,text,audio or video')
358
- if csv_type not in ['raw', 'url', 'file_path']:
359
- raise UserError('Invalid csv type, it should be raw, url or file_path')
360
- assert csv_path.endswith('.csv'), 'csv_path should be a csv file'
361
- if csv_type == 'raw' and input_type != 'text':
362
- raise UserError('Only text input type is supported for raw csv type')
363
- chunk_size = min(128, chunk_size)
364
- input_protos = self.input_object.get_inputs_from_csv(
365
- csv_path=csv_path,
366
- input_type=input_type,
367
- csv_type=csv_type,
368
- dataset_id=self.id,
369
- labels=labels)
370
- self.input_object._bulk_upload(inputs=input_protos, chunk_size=chunk_size)
371
-
372
- def upload_from_folder(self,
373
- folder_path: str,
374
- input_type: str,
375
- labels: bool = False,
376
- chunk_size: int = 128) -> None:
377
- """Upload dataset from folder.
378
-
379
- Args:
380
- folder_path (str): Path to the folder containing images.
381
- input_type (str): type of the dataset(text, image)
382
- labels (bool): True if folder name is the label for the inputs
383
- chunk_size (int): chunk size for concurrent upload of inputs and annotations
384
-
385
- Example:
386
- >>> from clarifai.client.dataset import Dataset
387
- >>> dataset = Dataset(user_id = 'user_id', app_id = 'demo_app', dataset_id = 'demo_dataset')
388
- >>> dataset.upload_from_folder(folder_path='folder_path', input_type='text', labels=True)
389
-
390
- Note: The filename is used as the input_id.
391
- """
392
- if input_type not in ['image', 'text']:
393
- raise UserError('Invalid input type it should be image or text')
394
- if input_type == 'image':
395
- input_protos = self.input_object.get_image_inputs_from_folder(
396
- folder_path=folder_path, dataset_id=self.id, labels=labels)
397
- if input_type == 'text':
398
- input_protos = self.input_object.get_text_inputs_from_folder(
399
- folder_path=folder_path, dataset_id=self.id, labels=labels)
400
- self.input_object._bulk_upload(inputs=input_protos, chunk_size=chunk_size)
401
-
402
- def export(self,
403
- save_path: str,
404
- archive_url: str = None,
405
- local_archive_path: str = None,
406
- split: str = None,
407
- num_workers: int = 4) -> None:
408
- """Exports the Clarifai protobuf dataset to a local archive.
409
-
410
- Args:
411
- save_path (str): The path to save the archive to.
412
- archive_url (str): The URL to the Clarifai protobuf archive.
413
- local_archive_path (str): The path to the local Clarifai protobuf archive.
414
- split (str): Export dataset inputs in the directory format {split}/{input_type}. Default is all.
415
- num_workers (int): Number of workers to use for downloading the archive. Default is 4.
416
-
417
- Example:
418
- >>> from clarifai.client.dataset import Dataset
419
- >>> Dataset().export(save_path='output.zip', local_archive_path='clarifai-data-protobuf.zip')
420
- """
421
- if local_archive_path and not os.path.exists(local_archive_path):
422
- raise UserError(f"Archive {local_archive_path} does not exist.")
423
- # Create a session object and set auth header
424
- session = requests.Session()
425
- retries = Retry(total=5, backoff_factor=0.1, status_forcelist=[500, 502, 503, 504])
426
- session.mount('https://', HTTPAdapter(max_retries=retries))
427
- session.headers.update({'Authorization': self.metadata[0][1]})
428
- with DatasetExportReader(
429
- session=session, archive_url=archive_url, local_archive_path=local_archive_path) as reader:
430
- InputAnnotationDownloader(session, reader, num_workers).download_archive(
431
- save_path=save_path, split=split)
432
-
433
- def __getattr__(self, name):
434
- return getattr(self.dataset_info, name)
435
-
436
- def __str__(self):
437
- init_params = [param for param in self.kwargs.keys()]
438
- attribute_strings = [
439
- f"{param}={getattr(self.dataset_info, param)}" for param in init_params
440
- if hasattr(self.dataset_info, param)
441
- ]
442
- return f"Dataset Details: \n{', '.join(attribute_strings)}\n"