clarifai 9.10.2__tar.gz → 9.10.3__tar.gz
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.
- {clarifai-9.10.2/clarifai.egg-info → clarifai-9.10.3}/PKG-INFO +3 -3
- {clarifai-9.10.2 → clarifai-9.10.3}/README.md +2 -2
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/__init__.py +3 -2
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/app.py +39 -23
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/base.py +6 -6
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/dataset.py +113 -55
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/input.py +47 -55
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/model.py +27 -25
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/module.py +13 -11
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/runner.py +5 -3
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/search.py +7 -3
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/client/user.py +14 -8
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/workflow.py +22 -20
- clarifai-9.10.3/clarifai/constants/dataset.py +22 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/base.py +9 -7
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/features.py +3 -3
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/image.py +49 -50
- clarifai-9.10.3/clarifai/datasets/upload/loaders/coco_captions.py +49 -0
- clarifai-9.10.3/clarifai/datasets/upload/loaders/coco_detection.py +75 -0
- clarifai-9.10.3/clarifai/datasets/upload/loaders/coco_segmentation.py +98 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/loaders/imagenet_classification.py +2 -3
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/loaders/xview_detection.py +3 -3
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/datasets/upload/text.py +16 -16
- clarifai-9.10.3/clarifai/datasets/upload/utils.py +238 -0
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/utils/misc.py +21 -0
- {clarifai-9.10.2/clarifai_utils → clarifai-9.10.3/clarifai}/versions.py +1 -1
- {clarifai-9.10.2 → clarifai-9.10.3/clarifai.egg-info}/PKG-INFO +3 -3
- clarifai-9.10.3/clarifai.egg-info/SOURCES.txt +107 -0
- clarifai-9.10.3/clarifai.egg-info/top_level.txt +1 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_app.py +7 -5
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_data_upload.py +3 -1
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_model_predict.py +6 -4
- clarifai-9.10.2/MANIFEST.in +0 -4
- clarifai-9.10.2/clarifai/auth/__init__.py +0 -6
- clarifai-9.10.2/clarifai/client/auth/helper.py +0 -367
- clarifai-9.10.2/clarifai/client/auth/register.py +0 -23
- clarifai-9.10.2/clarifai/client/auth/stub.py +0 -127
- clarifai-9.10.2/clarifai/client/base.py +0 -131
- clarifai-9.10.2/clarifai/client/dataset.py +0 -442
- clarifai-9.10.2/clarifai/client/input.py +0 -892
- clarifai-9.10.2/clarifai/client/model.py +0 -575
- clarifai-9.10.2/clarifai/client/module.py +0 -94
- clarifai-9.10.2/clarifai/client/user.py +0 -253
- clarifai-9.10.2/clarifai/datasets/upload/examples/README.md +0 -31
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
- clarifai-9.10.2/clarifai/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
- clarifai-9.10.2/clarifai/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
- clarifai-9.10.2/clarifai/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
- clarifai-9.10.2/clarifai/datasets/upload/loaders/README.md +0 -49
- clarifai-9.10.2/clarifai/datasets/upload/loaders/coco_captions.py +0 -103
- clarifai-9.10.2/clarifai/datasets/upload/loaders/coco_detection.py +0 -134
- clarifai-9.10.2/clarifai/datasets/upload/loaders/coco_segmentation.py +0 -166
- clarifai-9.10.2/clarifai/datasets/upload/text.py +0 -53
- clarifai-9.10.2/clarifai/datasets/upload/utils.py +0 -63
- clarifai-9.10.2/clarifai/models/model_serving/README.md +0 -155
- clarifai-9.10.2/clarifai/models/model_serving/docs/custom_config.md +0 -33
- clarifai-9.10.2/clarifai/models/model_serving/docs/dependencies.md +0 -11
- clarifai-9.10.2/clarifai/models/model_serving/docs/inference_parameters.md +0 -134
- clarifai-9.10.2/clarifai/models/model_serving/docs/model_types.md +0 -20
- clarifai-9.10.2/clarifai/models/model_serving/docs/output.md +0 -28
- clarifai-9.10.2/clarifai/models/model_serving/examples/README.md +0 -7
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_embedding/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_text/README.md +0 -10
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
- clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_detection/README.md +0 -11
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_embedding/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_embedding/vit-base/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/README.md +0 -9
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/1/model.py +0 -60
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
- clarifai-9.10.2/clarifai/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
- clarifai-9.10.2/clarifai/modules/README.md +0 -5
- clarifai-9.10.2/clarifai/modules/__init__.py +0 -0
- clarifai-9.10.2/clarifai/modules/style.css +0 -217
- clarifai-9.10.2/clarifai/runners/__init__.py +0 -0
- clarifai-9.10.2/clarifai/utils/__init__.py +0 -0
- clarifai-9.10.2/clarifai/utils/misc.py +0 -33
- clarifai-9.10.2/clarifai/versions.py +0 -6
- clarifai-9.10.2/clarifai/workflows/__init__.py +0 -0
- clarifai-9.10.2/clarifai.egg-info/SOURCES.txt +0 -398
- clarifai-9.10.2/clarifai.egg-info/top_level.txt +0 -2
- clarifai-9.10.2/clarifai_utils/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/auth/__init__.py +0 -6
- clarifai-9.10.2/clarifai_utils/auth/helper.py +0 -367
- clarifai-9.10.2/clarifai_utils/auth/register.py +0 -23
- clarifai-9.10.2/clarifai_utils/auth/stub.py +0 -127
- clarifai-9.10.2/clarifai_utils/cli.py +0 -0
- clarifai-9.10.2/clarifai_utils/client/__init__.py +0 -16
- clarifai-9.10.2/clarifai_utils/client/app.py +0 -684
- clarifai-9.10.2/clarifai_utils/client/auth/__init__.py +0 -4
- clarifai-9.10.2/clarifai_utils/client/auth/helper.py +0 -367
- clarifai-9.10.2/clarifai_utils/client/auth/register.py +0 -23
- clarifai-9.10.2/clarifai_utils/client/auth/stub.py +0 -127
- clarifai-9.10.2/clarifai_utils/client/lister.py +0 -54
- clarifai-9.10.2/clarifai_utils/client/runner.py +0 -161
- clarifai-9.10.2/clarifai_utils/client/search.py +0 -254
- clarifai-9.10.2/clarifai_utils/client/workflow.py +0 -223
- clarifai-9.10.2/clarifai_utils/constants/model.py +0 -4
- clarifai-9.10.2/clarifai_utils/constants/search.py +0 -2
- clarifai-9.10.2/clarifai_utils/datasets/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/export/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/export/inputs_annotations.py +0 -222
- clarifai-9.10.2/clarifai_utils/datasets/upload/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/base.py +0 -66
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/README.md +0 -31
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/text_classification/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
- clarifai-9.10.2/clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
- clarifai-9.10.2/clarifai_utils/datasets/upload/features.py +0 -44
- clarifai-9.10.2/clarifai_utils/datasets/upload/image.py +0 -165
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/README.md +0 -49
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/coco_captions.py +0 -103
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/coco_detection.py +0 -134
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/coco_segmentation.py +0 -166
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/imagenet_classification.py +0 -59
- clarifai-9.10.2/clarifai_utils/datasets/upload/loaders/xview_detection.py +0 -148
- clarifai-9.10.2/clarifai_utils/datasets/upload/utils.py +0 -63
- clarifai-9.10.2/clarifai_utils/errors.py +0 -89
- clarifai-9.10.2/clarifai_utils/models/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/api.py +0 -283
- clarifai-9.10.2/clarifai_utils/models/model_serving/README.md +0 -155
- clarifai-9.10.2/clarifai_utils/models/model_serving/__init__.py +0 -12
- clarifai-9.10.2/clarifai_utils/models/model_serving/cli/__init__.py +0 -12
- clarifai-9.10.2/clarifai_utils/models/model_serving/cli/deploy_cli.py +0 -123
- clarifai-9.10.2/clarifai_utils/models/model_serving/cli/model_zip.py +0 -61
- clarifai-9.10.2/clarifai_utils/models/model_serving/cli/repository.py +0 -87
- clarifai-9.10.2/clarifai_utils/models/model_serving/constants.py +0 -1
- clarifai-9.10.2/clarifai_utils/models/model_serving/docs/custom_config.md +0 -33
- clarifai-9.10.2/clarifai_utils/models/model_serving/docs/dependencies.md +0 -11
- clarifai-9.10.2/clarifai_utils/models/model_serving/docs/inference_parameters.md +0 -134
- clarifai-9.10.2/clarifai_utils/models/model_serving/docs/model_types.md +0 -20
- clarifai-9.10.2/clarifai_utils/models/model_serving/docs/output.md +0 -28
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/README.md +0 -7
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/inference.py +0 -56
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/model.py +0 -61
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/inference.py +0 -55
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/model.py +0 -61
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_embedding/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/model.py +0 -60
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/README.md +0 -10
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/inference.py +0 -47
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/model.py +0 -60
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/README.md +0 -11
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/inference.py +0 -72
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/model.py +0 -61
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/inference.py +0 -51
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/model.py +0 -60
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/README.md +0 -9
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/inference.py +0 -55
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/model.py +0 -60
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/__init__.py +0 -14
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/config.py +0 -302
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/inference_parameter.py +0 -124
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
- clarifai-9.10.2/clarifai_utils/models/model_serving/model_config/serializer.py +0 -134
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/__init__.py +0 -12
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/default_test.py +0 -275
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/inference.py +0 -42
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/model_types.py +0 -265
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/output.py +0 -124
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/pb_model.py +0 -74
- clarifai-9.10.2/clarifai_utils/models/model_serving/models/test.py +0 -64
- clarifai-9.10.2/clarifai_utils/models/model_serving/pb_model_repository.py +0 -101
- clarifai-9.10.2/clarifai_utils/modules/README.md +0 -5
- clarifai-9.10.2/clarifai_utils/modules/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/modules/css.py +0 -60
- clarifai-9.10.2/clarifai_utils/modules/pages.py +0 -42
- clarifai-9.10.2/clarifai_utils/modules/style.css +0 -217
- clarifai-9.10.2/clarifai_utils/runners/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/runners/example.py +0 -33
- clarifai-9.10.2/clarifai_utils/schema/search.py +0 -69
- clarifai-9.10.2/clarifai_utils/urls/helper.py +0 -103
- clarifai-9.10.2/clarifai_utils/utils/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/utils/logging.py +0 -90
- clarifai-9.10.2/clarifai_utils/utils/model_train.py +0 -157
- clarifai-9.10.2/clarifai_utils/workflows/__init__.py +0 -0
- clarifai-9.10.2/clarifai_utils/workflows/export.py +0 -68
- clarifai-9.10.2/clarifai_utils/workflows/utils.py +0 -59
- clarifai-9.10.2/clarifai_utils/workflows/validate.py +0 -67
- {clarifai-9.10.2 → clarifai-9.10.3}/LICENSE +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/cli.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/auth/__init__.py +0 -0
- {clarifai-9.10.2/clarifai → clarifai-9.10.3/clarifai/client}/auth/helper.py +0 -0
- {clarifai-9.10.2/clarifai → clarifai-9.10.3/clarifai/client}/auth/register.py +0 -0
- {clarifai-9.10.2/clarifai → clarifai-9.10.3/clarifai/client}/auth/stub.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/client/lister.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/constants/model.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/constants/search.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/export/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/export/inputs_annotations.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/datasets/upload/__init__.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification → clarifai-9.10.3/clarifai/datasets/upload/loaders}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/errors.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/cifar10 → clarifai-9.10.3/clarifai/models}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/api.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/cli/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/cli/deploy_cli.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/cli/model_zip.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/cli/repository.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/constants.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/examples/image_classification/food-101 → clarifai-9.10.3/clarifai/models/model_serving/examples/image_classification/age_vit/1}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/image_classification/age_vit/1/inference.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/image_classification/age_vit/1/model.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/examples/text_classification → clarifai-9.10.3/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/inference.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/model.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/examples/text_classification/imdb_dataset → clarifai-9.10.3/clarifai/models/model_serving/examples/text_to_text/bart-summarize/1}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/text_to_text/bart-summarize/1/inference.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/sd-v1.5 → clarifai-9.10.3/clarifai/models/model_serving/examples/text_to_text/bart-summarize}/1/model.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/visual_detection/yolov5x/1/inference.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/visual_detection/yolov5x/1/model.py +0 -0
- {clarifai-9.10.2/clarifai/datasets/upload/loaders → clarifai-9.10.3/clarifai/models/model_serving/examples/visual_embedding/vit-base/1}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/visual_embedding/vit-base/1/inference.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_text/bart-summarize → clarifai-9.10.3/clarifai/models/model_serving/examples/visual_embedding/vit-base}/1/model.py +0 -0
- {clarifai-9.10.2/clarifai/models → clarifai-9.10.3/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/1}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/1/inference.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/visual_embedding/vit-base → clarifai-9.10.3/clarifai/models/model_serving/examples/visual_segmentation/segformer-b2}/1/model.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/model_config/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/model_config/config.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/model_config/inference_parameter.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/model_config/serializer.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/default_test.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/inference.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/model_types.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/output.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/pb_model.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/models/test.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/models/model_serving/pb_model_repository.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/image_classification/age_vit/1 → clarifai-9.10.3/clarifai/modules}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/modules/css.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/modules/pages.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/text_classification/xlm-roberta/1 → clarifai-9.10.3/clarifai/runners}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/runners/example.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/schema/search.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/urls/helper.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1 → clarifai-9.10.3/clarifai/utils}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/utils/logging.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/utils/model_train.py +0 -0
- {clarifai-9.10.2/clarifai/models/model_serving/examples/text_to_text/bart-summarize/1 → clarifai-9.10.3/clarifai/workflows}/__init__.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/workflows/export.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/workflows/utils.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai/workflows/validate.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai.egg-info/dependency_links.txt +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai.egg-info/entry_points.txt +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/clarifai.egg-info/requires.txt +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/setup.cfg +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/setup.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_auth.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_model_train.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_modules.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_search.py +0 -0
- {clarifai-9.10.2 → clarifai-9.10.3}/tests/test_stub.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: clarifai
|
|
3
|
-
Version: 9.10.
|
|
3
|
+
Version: 9.10.3
|
|
4
4
|
Summary: Clarifai Python SDK
|
|
5
5
|
Home-page: https://github.com/Clarifai/clarifai-python
|
|
6
6
|
Author: Clarifai
|
|
@@ -26,7 +26,7 @@ Clarifai Python SDK</a>
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
<p align="center">
|
|
29
|
-
<a href="https://discord.gg/M32V7a7a" target="_blank"> <img src="https://img.shields.io/
|
|
29
|
+
<a href="https://discord.gg/M32V7a7a" target="_blank"> <img src="https://img.shields.io/discord/1145701543228735582" alt="Discord">
|
|
30
30
|
</a>
|
|
31
31
|
<a href="https://pypi.org/project/clarifai" target="_blank"> <img src="https://img.shields.io/pypi/dm/clarifai" alt="PyPI - Downloads">
|
|
32
32
|
</a>
|
|
@@ -37,7 +37,7 @@ Clarifai Python SDK</a>
|
|
|
37
37
|
|
|
38
38
|
This is the official Python client for interacting with our powerful [API](https://docs.clarifai.com). The Clarifai Python SDK offers a comprehensive set of tools to integrate Clarifai's AI platform to leverage computer vision capabilities like classification , detection ,segementation and natural language capabilities like classification , summarisation , generation , Q&A ,etc into your applications. With just a few lines of code, you can leverage cutting-edge artificial intelligence to unlock valuable insights from visual and textual content.
|
|
39
39
|
|
|
40
|
-
[Website](https://www.clarifai.com/) | [Demo](https://clarifai.com/demo) | [Signup for a Free Account](https://clarifai.com/signup) | [API Docs](https://docs.clarifai.com/) | [Clarifai Community](https://clarifai.com/explore) | [Python SDK Docs](https://docs.clarifai.com/python-sdk/api-reference) | [Examples](https://github.com/Clarifai/examples) | [Colab Notebooks](https://github.com/Clarifai/colab-notebooks)
|
|
40
|
+
[Website](https://www.clarifai.com/) | [Demo](https://clarifai.com/demo) | [Signup for a Free Account](https://clarifai.com/signup) | [API Docs](https://docs.clarifai.com/) | [Clarifai Community](https://clarifai.com/explore) | [Python SDK Docs](https://docs.clarifai.com/python-sdk/api-reference) | [Examples](https://github.com/Clarifai/examples) | [Colab Notebooks](https://github.com/Clarifai/colab-notebooks) | [Discord](https://discord.gg/XAPE3Vtg)
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
---
|
|
@@ -9,7 +9,7 @@ Clarifai Python SDK</a>
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<a href="https://discord.gg/M32V7a7a" target="_blank"> <img src="https://img.shields.io/
|
|
12
|
+
<a href="https://discord.gg/M32V7a7a" target="_blank"> <img src="https://img.shields.io/discord/1145701543228735582" alt="Discord">
|
|
13
13
|
</a>
|
|
14
14
|
<a href="https://pypi.org/project/clarifai" target="_blank"> <img src="https://img.shields.io/pypi/dm/clarifai" alt="PyPI - Downloads">
|
|
15
15
|
</a>
|
|
@@ -20,7 +20,7 @@ Clarifai Python SDK</a>
|
|
|
20
20
|
|
|
21
21
|
This is the official Python client for interacting with our powerful [API](https://docs.clarifai.com). The Clarifai Python SDK offers a comprehensive set of tools to integrate Clarifai's AI platform to leverage computer vision capabilities like classification , detection ,segementation and natural language capabilities like classification , summarisation , generation , Q&A ,etc into your applications. With just a few lines of code, you can leverage cutting-edge artificial intelligence to unlock valuable insights from visual and textual content.
|
|
22
22
|
|
|
23
|
-
[Website](https://www.clarifai.com/) | [Demo](https://clarifai.com/demo) | [Signup for a Free Account](https://clarifai.com/signup) | [API Docs](https://docs.clarifai.com/) | [Clarifai Community](https://clarifai.com/explore) | [Python SDK Docs](https://docs.clarifai.com/python-sdk/api-reference) | [Examples](https://github.com/Clarifai/examples) | [Colab Notebooks](https://github.com/Clarifai/colab-notebooks)
|
|
23
|
+
[Website](https://www.clarifai.com/) | [Demo](https://clarifai.com/demo) | [Signup for a Free Account](https://clarifai.com/signup) | [API Docs](https://docs.clarifai.com/) | [Clarifai Community](https://clarifai.com/explore) | [Python SDK Docs](https://docs.clarifai.com/python-sdk/api-reference) | [Examples](https://github.com/Clarifai/examples) | [Colab Notebooks](https://github.com/Clarifai/colab-notebooks) | [Discord](https://discord.gg/XAPE3Vtg)
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
---
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
# Note: V2Stub, create_stub is just added for backwards compatibility. It will be removed in the future.
|
|
2
1
|
from clarifai.client.app import App
|
|
3
2
|
from clarifai.client.auth.register import V2Stub
|
|
4
3
|
from clarifai.client.auth.stub import create_stub
|
|
5
4
|
from clarifai.client.base import BaseClient
|
|
6
5
|
from clarifai.client.dataset import Dataset
|
|
6
|
+
from clarifai.client.input import Inputs
|
|
7
7
|
from clarifai.client.lister import Lister
|
|
8
8
|
from clarifai.client.model import Model
|
|
9
9
|
from clarifai.client.module import Module
|
|
10
|
+
from clarifai.client.search import Search
|
|
10
11
|
from clarifai.client.user import User
|
|
11
12
|
from clarifai.client.workflow import Workflow
|
|
12
13
|
|
|
13
14
|
__all__ = [
|
|
14
15
|
'V2Stub', 'create_stub', 'User', 'App', 'Model', 'Workflow', 'Module', 'Lister', 'Dataset',
|
|
15
|
-
'BaseClient'
|
|
16
|
+
'Inputs', 'BaseClient', 'Search'
|
|
16
17
|
]
|
|
@@ -28,29 +28,31 @@ class App(Lister, BaseClient):
|
|
|
28
28
|
"""App is a class that provides access to Clarifai API endpoints related to App information."""
|
|
29
29
|
|
|
30
30
|
def __init__(self,
|
|
31
|
-
|
|
32
|
-
app_id: str =
|
|
31
|
+
url: str = None,
|
|
32
|
+
app_id: str = None,
|
|
33
33
|
base_url: str = "https://api.clarifai.com",
|
|
34
|
+
pat: str = None,
|
|
34
35
|
**kwargs):
|
|
35
36
|
"""Initializes an App object.
|
|
36
37
|
|
|
37
38
|
Args:
|
|
38
|
-
|
|
39
|
+
url (str): The URL to initialize the app object.
|
|
39
40
|
app_id (str): The App ID for the App to interact with.
|
|
40
41
|
base_url (str): Base API url. Default "https://api.clarifai.com"
|
|
42
|
+
pat (str): A personal access token for authentication. Can be set as env var CLARIFAI_PAT
|
|
41
43
|
**kwargs: Additional keyword arguments to be passed to the App.
|
|
42
44
|
- name (str): The name of the app.
|
|
43
45
|
- description (str): The description of the app.
|
|
44
46
|
"""
|
|
45
|
-
if
|
|
46
|
-
raise UserError("You can only specify one of
|
|
47
|
-
if
|
|
48
|
-
user_id, app_id, _, _, _ = ClarifaiUrlHelper.split_clarifai_url(
|
|
47
|
+
if url and app_id:
|
|
48
|
+
raise UserError("You can only specify one of url or app_id.")
|
|
49
|
+
if url:
|
|
50
|
+
user_id, app_id, _, _, _ = ClarifaiUrlHelper.split_clarifai_url(url)
|
|
49
51
|
kwargs = {'user_id': user_id}
|
|
50
52
|
self.kwargs = {**kwargs, 'id': app_id}
|
|
51
53
|
self.app_info = resources_pb2.App(**self.kwargs)
|
|
52
54
|
self.logger = get_logger(logger_level="INFO", name=__name__)
|
|
53
|
-
BaseClient.__init__(self, user_id=self.user_id, app_id=self.id, base=base_url)
|
|
55
|
+
BaseClient.__init__(self, user_id=self.user_id, app_id=self.id, base=base_url, pat=pat)
|
|
54
56
|
Lister.__init__(self)
|
|
55
57
|
|
|
56
58
|
def list_datasets(self, page_no: int = None,
|
|
@@ -83,7 +85,7 @@ class App(Lister, BaseClient):
|
|
|
83
85
|
for dataset_info in all_datasets_info:
|
|
84
86
|
if 'version' in list(dataset_info.keys()):
|
|
85
87
|
del dataset_info['version']['metrics']
|
|
86
|
-
yield Dataset(base_url=self.base, **dataset_info)
|
|
88
|
+
yield Dataset(base_url=self.base, pat=self.pat, **dataset_info)
|
|
87
89
|
|
|
88
90
|
def list_models(self,
|
|
89
91
|
filter_by: Dict[str, Any] = {},
|
|
@@ -124,7 +126,7 @@ class App(Lister, BaseClient):
|
|
|
124
126
|
if only_in_app:
|
|
125
127
|
if model_info['app_id'] != self.id:
|
|
126
128
|
continue
|
|
127
|
-
yield Model(base_url=self.base, **model_info)
|
|
129
|
+
yield Model(base_url=self.base, pat=self.pat, **model_info)
|
|
128
130
|
|
|
129
131
|
def list_workflows(self,
|
|
130
132
|
filter_by: Dict[str, Any] = {},
|
|
@@ -163,7 +165,7 @@ class App(Lister, BaseClient):
|
|
|
163
165
|
if only_in_app:
|
|
164
166
|
if workflow_info['app_id'] != self.id:
|
|
165
167
|
continue
|
|
166
|
-
yield Workflow(base_url=self.base, **workflow_info)
|
|
168
|
+
yield Workflow(base_url=self.base, pat=self.pat, **workflow_info)
|
|
167
169
|
|
|
168
170
|
def list_modules(self,
|
|
169
171
|
filter_by: Dict[str, Any] = {},
|
|
@@ -202,7 +204,7 @@ class App(Lister, BaseClient):
|
|
|
202
204
|
if only_in_app:
|
|
203
205
|
if module_info['app_id'] != self.id:
|
|
204
206
|
continue
|
|
205
|
-
yield Module(base_url=self.base, **module_info)
|
|
207
|
+
yield Module(base_url=self.base, pat=self.pat, **module_info)
|
|
206
208
|
|
|
207
209
|
def list_installed_module_versions(self,
|
|
208
210
|
filter_by: Dict[str, Any] = {},
|
|
@@ -238,7 +240,10 @@ class App(Lister, BaseClient):
|
|
|
238
240
|
del imv_info['deploy_url']
|
|
239
241
|
del imv_info['installed_module_version_id'] # TODO: remove this after the backend fix
|
|
240
242
|
yield Module(
|
|
241
|
-
module_id=imv_info['module_version']['module_id'],
|
|
243
|
+
module_id=imv_info['module_version']['module_id'],
|
|
244
|
+
base_url=self.base,
|
|
245
|
+
pat=self.pat,
|
|
246
|
+
**imv_info)
|
|
242
247
|
|
|
243
248
|
def list_concepts(self, page_no: int = None,
|
|
244
249
|
per_page: int = None) -> Generator[Concept, None, None]:
|
|
@@ -303,7 +308,12 @@ class App(Lister, BaseClient):
|
|
|
303
308
|
if response.status.code != status_code_pb2.SUCCESS:
|
|
304
309
|
raise Exception(response.status)
|
|
305
310
|
self.logger.info("\nDataset created\n%s", response.status)
|
|
306
|
-
kwargs.update({
|
|
311
|
+
kwargs.update({
|
|
312
|
+
'app_id': self.id,
|
|
313
|
+
'user_id': self.user_id,
|
|
314
|
+
'base_url': self.base,
|
|
315
|
+
'pat': self.pat
|
|
316
|
+
})
|
|
307
317
|
|
|
308
318
|
return Dataset(dataset_id=dataset_id, **kwargs)
|
|
309
319
|
|
|
@@ -332,7 +342,8 @@ class App(Lister, BaseClient):
|
|
|
332
342
|
'app_id': self.id,
|
|
333
343
|
'user_id': self.user_id,
|
|
334
344
|
'model_type_id': response.model.model_type_id,
|
|
335
|
-
'base_url': self.base
|
|
345
|
+
'base_url': self.base,
|
|
346
|
+
'pat': self.pat
|
|
336
347
|
})
|
|
337
348
|
|
|
338
349
|
return Model(model_id=model_id, **kwargs)
|
|
@@ -425,7 +436,7 @@ class App(Lister, BaseClient):
|
|
|
425
436
|
display_workflow_tree(dict_response["workflows"][0]["nodes"])
|
|
426
437
|
kwargs = self.process_response_keys(dict_response[list(dict_response.keys())[1]][0],
|
|
427
438
|
"workflow")
|
|
428
|
-
kwargs.update({'base_url': self.base})
|
|
439
|
+
kwargs.update({'base_url': self.base, 'pat': self.pat})
|
|
429
440
|
|
|
430
441
|
return Workflow(**kwargs)
|
|
431
442
|
|
|
@@ -453,7 +464,12 @@ class App(Lister, BaseClient):
|
|
|
453
464
|
if response.status.code != status_code_pb2.SUCCESS:
|
|
454
465
|
raise Exception(response.status)
|
|
455
466
|
self.logger.info("\nModule created\n%s", response.status)
|
|
456
|
-
kwargs.update({
|
|
467
|
+
kwargs.update({
|
|
468
|
+
'app_id': self.id,
|
|
469
|
+
'user_id': self.user_id,
|
|
470
|
+
'base_url': self.base,
|
|
471
|
+
'pat': self.pat
|
|
472
|
+
})
|
|
457
473
|
|
|
458
474
|
return Module(module_id=module_id, **kwargs)
|
|
459
475
|
|
|
@@ -480,7 +496,7 @@ class App(Lister, BaseClient):
|
|
|
480
496
|
kwargs = self.process_response_keys(dict_response[list(dict_response.keys())[1]],
|
|
481
497
|
list(dict_response.keys())[1])
|
|
482
498
|
kwargs['version'] = response.dataset.version if response.dataset.version else None
|
|
483
|
-
kwargs.update({'base_url': self.base})
|
|
499
|
+
kwargs.update({'base_url': self.base, 'pat': self.pat})
|
|
484
500
|
return Dataset(**kwargs)
|
|
485
501
|
|
|
486
502
|
def model(self, model_id: str, model_version_id: str = "", **kwargs) -> Model:
|
|
@@ -516,7 +532,7 @@ class App(Lister, BaseClient):
|
|
|
516
532
|
kwargs = self.process_response_keys(dict_response['model'], 'model')
|
|
517
533
|
kwargs[
|
|
518
534
|
'model_version'] = response.model.model_version if response.model.model_version else None
|
|
519
|
-
kwargs.update({'base_url': self.base})
|
|
535
|
+
kwargs.update({'base_url': self.base, 'pat': self.pat})
|
|
520
536
|
|
|
521
537
|
return Model(**kwargs)
|
|
522
538
|
|
|
@@ -542,7 +558,7 @@ class App(Lister, BaseClient):
|
|
|
542
558
|
dict_response = MessageToDict(response, preserving_proto_field_name=True)
|
|
543
559
|
kwargs = self.process_response_keys(dict_response[list(dict_response.keys())[1]],
|
|
544
560
|
list(dict_response.keys())[1])
|
|
545
|
-
kwargs.update({'base_url': self.base})
|
|
561
|
+
kwargs.update({'base_url': self.base, 'pat': self.pat})
|
|
546
562
|
|
|
547
563
|
return Workflow(**kwargs)
|
|
548
564
|
|
|
@@ -569,7 +585,7 @@ class App(Lister, BaseClient):
|
|
|
569
585
|
raise Exception(response.status)
|
|
570
586
|
dict_response = MessageToDict(response, preserving_proto_field_name=True)
|
|
571
587
|
kwargs = self.process_response_keys(dict_response['module'], 'module')
|
|
572
|
-
kwargs.update({'base_url': self.base})
|
|
588
|
+
kwargs.update({'base_url': self.base, 'pat': self.pat})
|
|
573
589
|
|
|
574
590
|
return Module(**kwargs)
|
|
575
591
|
|
|
@@ -579,7 +595,7 @@ class App(Lister, BaseClient):
|
|
|
579
595
|
Returns:
|
|
580
596
|
Inputs: An input object.
|
|
581
597
|
"""
|
|
582
|
-
return Inputs(self.user_id, self.id, base_url=self.base)
|
|
598
|
+
return Inputs(self.user_id, self.id, base_url=self.base, pat=self.pat)
|
|
583
599
|
|
|
584
600
|
def delete_dataset(self, dataset_id: str) -> None:
|
|
585
601
|
"""Deletes an dataset for the user.
|
|
@@ -670,7 +686,7 @@ class App(Lister, BaseClient):
|
|
|
670
686
|
"""
|
|
671
687
|
user_id = kwargs.get("user_id", self.user_app_id.user_id)
|
|
672
688
|
app_id = kwargs.get("app_id", self.user_app_id.app_id)
|
|
673
|
-
return Search(user_id=user_id, app_id=app_id, **kwargs)
|
|
689
|
+
return Search(user_id=user_id, app_id=app_id, base_url=self.base, pat=self.pat, **kwargs)
|
|
674
690
|
|
|
675
691
|
def __getattr__(self, name):
|
|
676
692
|
return getattr(self.app_info, name)
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import os
|
|
2
1
|
from datetime import datetime
|
|
3
2
|
from typing import Any, Callable
|
|
4
3
|
|
|
@@ -8,7 +7,8 @@ from google.protobuf.wrappers_pb2 import BoolValue
|
|
|
8
7
|
|
|
9
8
|
from clarifai.client.auth import create_stub
|
|
10
9
|
from clarifai.client.auth.helper import ClarifaiAuthHelper
|
|
11
|
-
from clarifai.errors import ApiError
|
|
10
|
+
from clarifai.errors import ApiError
|
|
11
|
+
from clarifai.utils.misc import get_from_dict_or_env
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class BaseClient:
|
|
@@ -31,12 +31,12 @@ class BaseClient:
|
|
|
31
31
|
"""
|
|
32
32
|
|
|
33
33
|
def __init__(self, **kwargs):
|
|
34
|
-
pat =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
self.auth_helper = ClarifaiAuthHelper(**kwargs, pat=pat, validate=False)
|
|
34
|
+
pat = get_from_dict_or_env(key="pat", env_key="CLARIFAI_PAT", **kwargs)
|
|
35
|
+
kwargs.update({'pat': pat})
|
|
36
|
+
self.auth_helper = ClarifaiAuthHelper(**kwargs, validate=False)
|
|
38
37
|
self.STUB = create_stub(self.auth_helper)
|
|
39
38
|
self.metadata = self.auth_helper.metadata
|
|
39
|
+
self.pat = self.auth_helper.pat
|
|
40
40
|
self.user_app_id = self.auth_helper.get_user_app_id_proto()
|
|
41
41
|
self.base = self.auth_helper.base
|
|
42
42
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import time
|
|
3
|
+
import uuid
|
|
2
4
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
3
5
|
from multiprocessing import cpu_count
|
|
4
|
-
from typing import Generator, List, Tuple, TypeVar, Union
|
|
6
|
+
from typing import Generator, List, Tuple, Type, TypeVar, Union
|
|
5
7
|
|
|
6
8
|
import requests
|
|
7
9
|
from clarifai_grpc.grpc.api import resources_pb2, service_pb2
|
|
@@ -13,16 +15,18 @@ from tqdm import tqdm
|
|
|
13
15
|
from clarifai.client.base import BaseClient
|
|
14
16
|
from clarifai.client.input import Inputs
|
|
15
17
|
from clarifai.client.lister import Lister
|
|
18
|
+
from clarifai.constants.dataset import DATASET_UPLOAD_TASKS
|
|
16
19
|
from clarifai.datasets.export.inputs_annotations import (DatasetExportReader,
|
|
17
20
|
InputAnnotationDownloader)
|
|
21
|
+
from clarifai.datasets.upload.base import ClarifaiDataLoader
|
|
18
22
|
from clarifai.datasets.upload.image import (VisualClassificationDataset, VisualDetectionDataset,
|
|
19
23
|
VisualSegmentationDataset)
|
|
20
24
|
from clarifai.datasets.upload.text import TextClassificationDataset
|
|
21
|
-
from clarifai.datasets.upload.utils import
|
|
25
|
+
from clarifai.datasets.upload.utils import DisplayUploadStatus
|
|
22
26
|
from clarifai.errors import UserError
|
|
23
27
|
from clarifai.urls.helper import ClarifaiUrlHelper
|
|
24
28
|
from clarifai.utils.logging import get_logger
|
|
25
|
-
from clarifai.utils.misc import Chunker
|
|
29
|
+
from clarifai.utils.misc import BackoffIterator, Chunker
|
|
26
30
|
|
|
27
31
|
ClarifaiDatasetType = TypeVar('ClarifaiDatasetType', VisualClassificationDataset,
|
|
28
32
|
VisualDetectionDataset, VisualSegmentationDataset,
|
|
@@ -33,22 +37,24 @@ class Dataset(Lister, BaseClient):
|
|
|
33
37
|
"""Dataset is a class that provides access to Clarifai API endpoints related to Dataset information."""
|
|
34
38
|
|
|
35
39
|
def __init__(self,
|
|
36
|
-
|
|
37
|
-
dataset_id: str =
|
|
40
|
+
url: str = None,
|
|
41
|
+
dataset_id: str = None,
|
|
38
42
|
base_url: str = "https://api.clarifai.com",
|
|
43
|
+
pat: str = None,
|
|
39
44
|
**kwargs):
|
|
40
45
|
"""Initializes a Dataset object.
|
|
41
46
|
|
|
42
47
|
Args:
|
|
43
|
-
|
|
48
|
+
url (str): The URL to initialize the dataset object.
|
|
44
49
|
dataset_id (str): The Dataset ID within the App to interact with.
|
|
45
50
|
base_url (str): Base API url. Default "https://api.clarifai.com"
|
|
51
|
+
pat (str): A personal access token for authentication. Can be set as env var CLARIFAI_PAT
|
|
46
52
|
**kwargs: Additional keyword arguments to be passed to the Dataset.
|
|
47
53
|
"""
|
|
48
|
-
if
|
|
49
|
-
raise UserError("You can only specify one of
|
|
50
|
-
if
|
|
51
|
-
user_id, app_id, _, dataset_id, _ = ClarifaiUrlHelper.split_clarifai_url(
|
|
54
|
+
if url and dataset_id:
|
|
55
|
+
raise UserError("You can only specify one of url or dataset_id.")
|
|
56
|
+
if url:
|
|
57
|
+
user_id, app_id, _, dataset_id, _ = ClarifaiUrlHelper.split_clarifai_url(url)
|
|
52
58
|
kwargs = {'user_id': user_id, 'app_id': app_id}
|
|
53
59
|
self.kwargs = {**kwargs, 'id': dataset_id}
|
|
54
60
|
self.dataset_info = resources_pb2.Dataset(**self.kwargs)
|
|
@@ -56,11 +62,11 @@ class Dataset(Lister, BaseClient):
|
|
|
56
62
|
self.num_workers: int = min(10, cpu_count()) #15 req/sec rate limit
|
|
57
63
|
self.annot_num_workers = 4
|
|
58
64
|
self.max_retires = 10
|
|
59
|
-
self.
|
|
65
|
+
self.batch_size = 128 # limit max protos in a req
|
|
60
66
|
self.task = None # Upload dataset type
|
|
61
|
-
self.input_object = Inputs(user_id=self.user_id, app_id=self.app_id)
|
|
67
|
+
self.input_object = Inputs(user_id=self.user_id, app_id=self.app_id, pat=pat)
|
|
62
68
|
self.logger = get_logger(logger_level="INFO")
|
|
63
|
-
BaseClient.__init__(self, user_id=self.user_id, app_id=self.app_id, base=base_url)
|
|
69
|
+
BaseClient.__init__(self, user_id=self.user_id, app_id=self.app_id, base=base_url, pat=pat)
|
|
64
70
|
Lister.__init__(self)
|
|
65
71
|
|
|
66
72
|
def create_version(self, **kwargs) -> 'Dataset':
|
|
@@ -93,7 +99,8 @@ class Dataset(Lister, BaseClient):
|
|
|
93
99
|
'app_id': self.app_id,
|
|
94
100
|
'user_id': self.user_id,
|
|
95
101
|
'version': response.dataset_versions[0],
|
|
96
|
-
'base_url': self.base
|
|
102
|
+
'base_url': self.base,
|
|
103
|
+
'pat': self.pat
|
|
97
104
|
})
|
|
98
105
|
return Dataset(**kwargs)
|
|
99
106
|
|
|
@@ -156,7 +163,8 @@ class Dataset(Lister, BaseClient):
|
|
|
156
163
|
'app_id': self.app_id,
|
|
157
164
|
'user_id': self.user_id,
|
|
158
165
|
'version': resources_pb2.DatasetVersion(**dataset_version_info),
|
|
159
|
-
'base_url': self.base
|
|
166
|
+
'base_url': self.base,
|
|
167
|
+
'pat': self.pat
|
|
160
168
|
}
|
|
161
169
|
yield Dataset(**kwargs)
|
|
162
170
|
|
|
@@ -241,7 +249,7 @@ class Dataset(Lister, BaseClient):
|
|
|
241
249
|
|
|
242
250
|
if self.task in ["visual_detection", "visual_segmentation"]:
|
|
243
251
|
_, annotation_protos = dataset_obj.get_protos(success_input_ids)
|
|
244
|
-
chunked_annotation_protos = Chunker(annotation_protos, self.
|
|
252
|
+
chunked_annotation_protos = Chunker(annotation_protos, self.batch_size).chunk()
|
|
245
253
|
retry_annot_protos.extend(self._concurrent_annot_upload(chunked_annotation_protos))
|
|
246
254
|
|
|
247
255
|
return failed_input_ids, retry_annot_protos
|
|
@@ -259,7 +267,7 @@ class Dataset(Lister, BaseClient):
|
|
|
259
267
|
if failed_input_ids:
|
|
260
268
|
self._upload_inputs_annotations(failed_input_ids, dataset_obj)
|
|
261
269
|
if retry_annot_protos:
|
|
262
|
-
chunked_annotation_protos = Chunker(retry_annot_protos, self.
|
|
270
|
+
chunked_annotation_protos = Chunker(retry_annot_protos, self.batch_size).chunk()
|
|
263
271
|
_ = self._concurrent_annot_upload(chunked_annotation_protos)
|
|
264
272
|
|
|
265
273
|
def _data_upload(self, dataset_obj: ClarifaiDatasetType) -> None:
|
|
@@ -269,7 +277,7 @@ class Dataset(Lister, BaseClient):
|
|
|
269
277
|
dataset_obj: ClarifaiDataset object
|
|
270
278
|
"""
|
|
271
279
|
input_ids = list(range(len(dataset_obj)))
|
|
272
|
-
chunk_input_ids = Chunker(input_ids, self.
|
|
280
|
+
chunk_input_ids = Chunker(input_ids, self.batch_size).chunk()
|
|
273
281
|
with ThreadPoolExecutor(max_workers=self.num_workers) as executor:
|
|
274
282
|
with tqdm(total=len(chunk_input_ids), desc='Uploading Dataset') as progress:
|
|
275
283
|
# Submit all jobs to the executor and store the returned futures
|
|
@@ -284,55 +292,46 @@ class Dataset(Lister, BaseClient):
|
|
|
284
292
|
progress.update()
|
|
285
293
|
|
|
286
294
|
def upload_dataset(self,
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
dataset_loader: str = None,
|
|
291
|
-
chunk_size: int = 128) -> None:
|
|
295
|
+
dataloader: Type[ClarifaiDataLoader],
|
|
296
|
+
batch_size: int = 32,
|
|
297
|
+
get_upload_status: bool = False) -> None:
|
|
292
298
|
"""Uploads a dataset to the app.
|
|
293
299
|
|
|
294
300
|
Args:
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
dataset_loader (str): name of the dataset loader
|
|
299
|
-
chunk_size (int): chunk size for concurrent upload of inputs and annotations
|
|
301
|
+
dataloader (Type[ClarifaiDataLoader]): ClarifaiDataLoader object
|
|
302
|
+
batch_size (int): batch size for concurrent upload of inputs and annotations (max: 128)
|
|
303
|
+
get_upload_status (bool): True if you want to get the upload status of the dataset
|
|
300
304
|
"""
|
|
301
|
-
self.
|
|
302
|
-
self.task = task
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
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)
|
|
305
|
+
self.batch_size = min(self.batch_size, batch_size)
|
|
306
|
+
self.task = dataloader.task
|
|
307
|
+
if self.task not in DATASET_UPLOAD_TASKS:
|
|
308
|
+
raise UserError("Task should be one of \
|
|
309
|
+
'text_classification', 'visual_classification', \
|
|
310
|
+
'visual_detection', 'visual_segmentation', 'visual_captioning'")
|
|
311
|
+
|
|
312
|
+
if self.task == "text_classification":
|
|
313
|
+
dataset_obj = TextClassificationDataset(dataloader, self.id)
|
|
318
314
|
|
|
319
315
|
elif self.task == "visual_detection":
|
|
320
|
-
dataset_obj = VisualDetectionDataset(
|
|
316
|
+
dataset_obj = VisualDetectionDataset(dataloader, self.id)
|
|
321
317
|
|
|
322
318
|
elif self.task == "visual_segmentation":
|
|
323
|
-
dataset_obj = VisualSegmentationDataset(
|
|
319
|
+
dataset_obj = VisualSegmentationDataset(dataloader, self.id)
|
|
324
320
|
|
|
325
321
|
else: # visual_classification & visual_captioning
|
|
326
|
-
dataset_obj = VisualClassificationDataset(
|
|
322
|
+
dataset_obj = VisualClassificationDataset(dataloader, self.id)
|
|
327
323
|
|
|
328
324
|
self._data_upload(dataset_obj)
|
|
329
325
|
|
|
326
|
+
if get_upload_status:
|
|
327
|
+
self.get_upload_status(dataloader)
|
|
328
|
+
|
|
330
329
|
def upload_from_csv(self,
|
|
331
330
|
csv_path: str,
|
|
332
331
|
input_type: str = 'text',
|
|
333
332
|
csv_type: str = None,
|
|
334
333
|
labels: bool = True,
|
|
335
|
-
|
|
334
|
+
batch_size: int = 128) -> None:
|
|
336
335
|
"""Uploads dataset from a csv file.
|
|
337
336
|
|
|
338
337
|
Args:
|
|
@@ -340,7 +339,7 @@ class Dataset(Lister, BaseClient):
|
|
|
340
339
|
input_type (str): type of the dataset(text, image)
|
|
341
340
|
csv_type (str): type of the csv file(raw, url, file_path)
|
|
342
341
|
labels (bool): True if csv file has labels column
|
|
343
|
-
|
|
342
|
+
batch_size (int): batch size for concurrent upload of inputs and annotations
|
|
344
343
|
|
|
345
344
|
Example:
|
|
346
345
|
>>> from clarifai.client.dataset import Dataset
|
|
@@ -360,27 +359,27 @@ class Dataset(Lister, BaseClient):
|
|
|
360
359
|
assert csv_path.endswith('.csv'), 'csv_path should be a csv file'
|
|
361
360
|
if csv_type == 'raw' and input_type != 'text':
|
|
362
361
|
raise UserError('Only text input type is supported for raw csv type')
|
|
363
|
-
|
|
362
|
+
batch_size = min(128, batch_size)
|
|
364
363
|
input_protos = self.input_object.get_inputs_from_csv(
|
|
365
364
|
csv_path=csv_path,
|
|
366
365
|
input_type=input_type,
|
|
367
366
|
csv_type=csv_type,
|
|
368
367
|
dataset_id=self.id,
|
|
369
368
|
labels=labels)
|
|
370
|
-
self.input_object._bulk_upload(inputs=input_protos,
|
|
369
|
+
self.input_object._bulk_upload(inputs=input_protos, batch_size=batch_size)
|
|
371
370
|
|
|
372
371
|
def upload_from_folder(self,
|
|
373
372
|
folder_path: str,
|
|
374
373
|
input_type: str,
|
|
375
374
|
labels: bool = False,
|
|
376
|
-
|
|
375
|
+
batch_size: int = 128) -> None:
|
|
377
376
|
"""Upload dataset from folder.
|
|
378
377
|
|
|
379
378
|
Args:
|
|
380
379
|
folder_path (str): Path to the folder containing images.
|
|
381
380
|
input_type (str): type of the dataset(text, image)
|
|
382
381
|
labels (bool): True if folder name is the label for the inputs
|
|
383
|
-
|
|
382
|
+
batch_size (int): batch size for concurrent upload of inputs and annotations
|
|
384
383
|
|
|
385
384
|
Example:
|
|
386
385
|
>>> from clarifai.client.dataset import Dataset
|
|
@@ -397,7 +396,66 @@ class Dataset(Lister, BaseClient):
|
|
|
397
396
|
if input_type == 'text':
|
|
398
397
|
input_protos = self.input_object.get_text_inputs_from_folder(
|
|
399
398
|
folder_path=folder_path, dataset_id=self.id, labels=labels)
|
|
400
|
-
self.input_object._bulk_upload(inputs=input_protos,
|
|
399
|
+
self.input_object._bulk_upload(inputs=input_protos, batch_size=batch_size)
|
|
400
|
+
|
|
401
|
+
def get_upload_status(self,
|
|
402
|
+
dataloader: Type[ClarifaiDataLoader],
|
|
403
|
+
delete_version: bool = False,
|
|
404
|
+
timeout: int = 600) -> None:
|
|
405
|
+
"""Creates a new dataset version and displays the upload status of the dataset.
|
|
406
|
+
|
|
407
|
+
Args:
|
|
408
|
+
dataloader (Type[ClarifaiDataLoader]): ClarifaiDataLoader object
|
|
409
|
+
delete_version (bool): True if you want to delete the version after getting the upload status
|
|
410
|
+
timeout (int): Timeout in seconds for getting the upload status. Default is 600 seconds.
|
|
411
|
+
|
|
412
|
+
Example:
|
|
413
|
+
>>> from clarifai.client.dataset import Dataset
|
|
414
|
+
>>> dataset = Dataset(dataset_id='dataset_id', user_id='user_id', app_id='app_id')
|
|
415
|
+
>>> dataset.get_upload_status(dataloader)
|
|
416
|
+
|
|
417
|
+
Note:
|
|
418
|
+
This is a beta feature and is subject to change.
|
|
419
|
+
"""
|
|
420
|
+
self.logger.info("Getting dataset upload status...")
|
|
421
|
+
dataset_version_id = uuid.uuid4().hex
|
|
422
|
+
_ = self.create_version(id=dataset_version_id, description="SDK Upload Status")
|
|
423
|
+
|
|
424
|
+
request_data = dict(
|
|
425
|
+
user_app_id=self.user_app_id,
|
|
426
|
+
dataset_id=self.id,
|
|
427
|
+
dataset_version_id=dataset_version_id,
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
start_time = time.time()
|
|
431
|
+
backoff_iterator = BackoffIterator()
|
|
432
|
+
while (True):
|
|
433
|
+
dataset_metrics_response = self._grpc_request(
|
|
434
|
+
self.STUB.ListDatasetVersionMetricsGroups,
|
|
435
|
+
service_pb2.ListDatasetVersionMetricsGroupsRequest(**request_data),
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
if dataset_metrics_response.status.code != status_code_pb2.SUCCESS:
|
|
439
|
+
self.delete_version(dataset_version_id)
|
|
440
|
+
raise Exception("Failed to get dataset metrics {}".format(dataset_metrics_response.status))
|
|
441
|
+
|
|
442
|
+
dict_response = MessageToDict(dataset_metrics_response)
|
|
443
|
+
if len(dict_response.keys()) == 1 and time.time() - start_time < timeout:
|
|
444
|
+
self.logger.info("Crunching the dataset metrics. Please wait...")
|
|
445
|
+
time.sleep(next(backoff_iterator))
|
|
446
|
+
continue
|
|
447
|
+
else:
|
|
448
|
+
if time.time() - start_time > timeout:
|
|
449
|
+
self.delete_version(dataset_version_id)
|
|
450
|
+
raise UserError(
|
|
451
|
+
"Dataset metrics are taking too long to process. Please try again later.")
|
|
452
|
+
break
|
|
453
|
+
|
|
454
|
+
dataset_info_dict = dict(user_id=self.user_id, app_id=self.app_id, dataset_id=self.id)
|
|
455
|
+
DisplayUploadStatus(dataloader, dataset_metrics_response, dataset_info_dict)
|
|
456
|
+
|
|
457
|
+
if delete_version:
|
|
458
|
+
self.delete_version(dataset_version_id)
|
|
401
459
|
|
|
402
460
|
def export(self,
|
|
403
461
|
save_path: str,
|