clarifai 9.10.1__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.
- clarifai/client/__init__.py +3 -2
- clarifai/client/app.py +39 -23
- clarifai/client/base.py +6 -6
- clarifai/client/dataset.py +113 -55
- clarifai/client/input.py +47 -55
- clarifai/client/model.py +27 -25
- clarifai/client/module.py +13 -11
- clarifai/client/runner.py +5 -3
- clarifai/client/search.py +29 -10
- clarifai/client/user.py +14 -8
- clarifai/client/workflow.py +22 -20
- clarifai/constants/dataset.py +22 -0
- clarifai/datasets/upload/base.py +9 -7
- clarifai/datasets/upload/features.py +3 -3
- clarifai/datasets/upload/image.py +49 -50
- clarifai/datasets/upload/loaders/coco_captions.py +26 -80
- clarifai/datasets/upload/loaders/coco_detection.py +56 -115
- clarifai/datasets/upload/loaders/coco_segmentation.py +69 -137
- clarifai/datasets/upload/loaders/imagenet_classification.py +2 -3
- clarifai/datasets/upload/loaders/xview_detection.py +3 -3
- clarifai/datasets/upload/text.py +16 -16
- clarifai/datasets/upload/utils.py +196 -21
- clarifai/utils/misc.py +21 -0
- clarifai/versions.py +1 -1
- {clarifai-9.10.1.dist-info → clarifai-9.10.3.dist-info}/METADATA +3 -3
- clarifai-9.10.3.dist-info/RECORD +96 -0
- clarifai-9.10.3.dist-info/top_level.txt +1 -0
- clarifai/auth/__init__.py +0 -6
- clarifai/auth/helper.py +0 -367
- clarifai/auth/register.py +0 -23
- clarifai/auth/stub.py +0 -127
- clarifai/datasets/upload/examples/README.md +0 -31
- clarifai/datasets/upload/examples/image_classification/__init__.py +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/__init__.py +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
- clarifai/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
- clarifai/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/__init__.py +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
- clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
- clarifai/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
- clarifai/datasets/upload/examples/text_classification/__init__.py +0 -0
- clarifai/datasets/upload/examples/text_classification/imdb_dataset/__init__.py +0 -0
- clarifai/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
- clarifai/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
- clarifai/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
- clarifai/datasets/upload/loaders/README.md +0 -49
- clarifai/models/model_serving/README.md +0 -155
- clarifai/models/model_serving/docs/custom_config.md +0 -33
- clarifai/models/model_serving/docs/dependencies.md +0 -11
- clarifai/models/model_serving/docs/inference_parameters.md +0 -134
- clarifai/models/model_serving/docs/model_types.md +0 -20
- clarifai/models/model_serving/docs/output.md +0 -28
- clarifai/models/model_serving/examples/README.md +0 -7
- clarifai/models/model_serving/examples/image_classification/README.md +0 -9
- clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
- clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
- clarifai/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
- clarifai/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
- clarifai/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
- clarifai/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
- clarifai/models/model_serving/examples/text_classification/README.md +0 -9
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
- clarifai/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
- clarifai/models/model_serving/examples/text_embedding/README.md +0 -9
- clarifai/models/model_serving/examples/text_to_image/README.md +0 -9
- clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/__init__.py +0 -0
- clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
- clarifai/models/model_serving/examples/text_to_image/sd-v1.5/1/model.py +0 -60
- clarifai/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
- clarifai/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
- clarifai/models/model_serving/examples/text_to_text/README.md +0 -10
- clarifai/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
- clarifai/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
- clarifai/models/model_serving/examples/visual_detection/README.md +0 -11
- clarifai/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
- clarifai/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
- clarifai/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
- clarifai/models/model_serving/examples/visual_embedding/README.md +0 -9
- clarifai/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
- clarifai/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
- clarifai/models/model_serving/examples/visual_segmentation/README.md +0 -9
- clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
- clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
- clarifai/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
- clarifai/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
- clarifai/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
- clarifai/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
- clarifai/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
- clarifai/modules/README.md +0 -5
- clarifai/modules/style.css +0 -217
- clarifai-9.10.1.dist-info/RECORD +0 -386
- clarifai-9.10.1.dist-info/top_level.txt +0 -2
- clarifai_utils/__init__.py +0 -0
- clarifai_utils/auth/__init__.py +0 -6
- clarifai_utils/auth/helper.py +0 -367
- clarifai_utils/auth/register.py +0 -23
- clarifai_utils/auth/stub.py +0 -127
- clarifai_utils/cli.py +0 -0
- clarifai_utils/client/__init__.py +0 -16
- clarifai_utils/client/app.py +0 -684
- clarifai_utils/client/auth/__init__.py +0 -4
- clarifai_utils/client/auth/helper.py +0 -367
- clarifai_utils/client/auth/register.py +0 -23
- clarifai_utils/client/auth/stub.py +0 -127
- clarifai_utils/client/base.py +0 -131
- clarifai_utils/client/dataset.py +0 -442
- clarifai_utils/client/input.py +0 -892
- clarifai_utils/client/lister.py +0 -54
- clarifai_utils/client/model.py +0 -575
- clarifai_utils/client/module.py +0 -94
- clarifai_utils/client/runner.py +0 -161
- clarifai_utils/client/search.py +0 -239
- clarifai_utils/client/user.py +0 -253
- clarifai_utils/client/workflow.py +0 -223
- clarifai_utils/constants/model.py +0 -4
- clarifai_utils/constants/search.py +0 -2
- clarifai_utils/datasets/__init__.py +0 -0
- clarifai_utils/datasets/export/__init__.py +0 -0
- clarifai_utils/datasets/export/inputs_annotations.py +0 -222
- clarifai_utils/datasets/upload/__init__.py +0 -0
- clarifai_utils/datasets/upload/base.py +0 -66
- clarifai_utils/datasets/upload/examples/README.md +0 -31
- clarifai_utils/datasets/upload/examples/image_classification/__init__.py +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/__init__.py +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_test.csv +0 -10
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/cifar_small_train.csv +0 -10
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/dataset.py +0 -46
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_700.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_701.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_702.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_703.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_704.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_705.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_706.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_707.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_708.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/cifar10/images/test_batch_709.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/__init__.py +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/dataset.py +0 -39
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/1420783.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3287885.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/3617075.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/38052.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/beignets/39147.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/139558.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/1636096.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/2480925.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3385808.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/hamburger/3647386.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/1826869.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2243245.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/259212.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/2842688.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/prime_rib/3035414.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/1545393.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/2427642.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/3520891.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/377566.jpg +0 -0
- clarifai_utils/datasets/upload/examples/image_classification/food-101/images/ramen/503504.jpg +0 -0
- clarifai_utils/datasets/upload/examples/text_classification/__init__.py +0 -0
- clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/__init__.py +0 -0
- clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/dataset.py +0 -42
- clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/test.csv +0 -201
- clarifai_utils/datasets/upload/examples/text_classification/imdb_dataset/train.csv +0 -201
- clarifai_utils/datasets/upload/features.py +0 -44
- clarifai_utils/datasets/upload/image.py +0 -165
- clarifai_utils/datasets/upload/loaders/README.md +0 -49
- clarifai_utils/datasets/upload/loaders/__init__.py +0 -0
- clarifai_utils/datasets/upload/loaders/coco_captions.py +0 -103
- clarifai_utils/datasets/upload/loaders/coco_detection.py +0 -134
- clarifai_utils/datasets/upload/loaders/coco_segmentation.py +0 -166
- clarifai_utils/datasets/upload/loaders/imagenet_classification.py +0 -59
- clarifai_utils/datasets/upload/loaders/xview_detection.py +0 -148
- clarifai_utils/datasets/upload/text.py +0 -53
- clarifai_utils/datasets/upload/utils.py +0 -63
- clarifai_utils/errors.py +0 -89
- clarifai_utils/models/__init__.py +0 -0
- clarifai_utils/models/api.py +0 -283
- clarifai_utils/models/model_serving/README.md +0 -155
- clarifai_utils/models/model_serving/__init__.py +0 -12
- clarifai_utils/models/model_serving/cli/__init__.py +0 -12
- clarifai_utils/models/model_serving/cli/deploy_cli.py +0 -123
- clarifai_utils/models/model_serving/cli/model_zip.py +0 -61
- clarifai_utils/models/model_serving/cli/repository.py +0 -87
- clarifai_utils/models/model_serving/constants.py +0 -1
- clarifai_utils/models/model_serving/docs/custom_config.md +0 -33
- clarifai_utils/models/model_serving/docs/dependencies.md +0 -11
- clarifai_utils/models/model_serving/docs/inference_parameters.md +0 -134
- clarifai_utils/models/model_serving/docs/model_types.md +0 -20
- clarifai_utils/models/model_serving/docs/output.md +0 -28
- clarifai_utils/models/model_serving/examples/README.md +0 -7
- clarifai_utils/models/model_serving/examples/image_classification/README.md +0 -9
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/inference.py +0 -56
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/model.py +0 -61
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/README.md +0 -11
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/config.json +0 -42
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/1/vit-age-classifier/preprocessor_config.json +0 -15
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/config.pbtxt +0 -23
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/labels.txt +0 -9
- clarifai_utils/models/model_serving/examples/image_classification/age_vit/requirements.txt +0 -7
- clarifai_utils/models/model_serving/examples/text_classification/README.md +0 -9
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/inference.py +0 -55
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/model.py +0 -61
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/README.md +0 -12
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/config.json +0 -34
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/1/twitter-xlm-roberta-base-sentiment/special_tokens_map.json +0 -1
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/config.pbtxt +0 -21
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/labels.txt +0 -3
- clarifai_utils/models/model_serving/examples/text_classification/xlm-roberta/requirements.txt +0 -7
- clarifai_utils/models/model_serving/examples/text_embedding/README.md +0 -9
- clarifai_utils/models/model_serving/examples/text_to_image/README.md +0 -9
- clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/inference.py +0 -52
- clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/1/model.py +0 -60
- clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/config.pbtxt +0 -22
- clarifai_utils/models/model_serving/examples/text_to_image/sd-v1.5/requirements.txt +0 -6
- clarifai_utils/models/model_serving/examples/text_to_text/README.md +0 -10
- clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/inference.py +0 -47
- clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/1/model.py +0 -60
- clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/config.pbtxt +0 -20
- clarifai_utils/models/model_serving/examples/text_to_text/bart-summarize/requirements.txt +0 -4
- clarifai_utils/models/model_serving/examples/visual_detection/README.md +0 -11
- clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/inference.py +0 -72
- clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/1/model.py +0 -61
- clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/config.pbtxt +0 -36
- clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/labels.txt +0 -80
- clarifai_utils/models/model_serving/examples/visual_detection/yolov5x/requirements.txt +0 -12
- clarifai_utils/models/model_serving/examples/visual_embedding/README.md +0 -9
- clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/inference.py +0 -51
- clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/1/model.py +0 -60
- clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/config.pbtxt +0 -22
- clarifai_utils/models/model_serving/examples/visual_embedding/vit-base/requirements.txt +0 -5
- clarifai_utils/models/model_serving/examples/visual_segmentation/README.md +0 -9
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/__init__.py +0 -0
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/inference.py +0 -55
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/1/model.py +0 -60
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/config.pbtxt +0 -24
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/labels.txt +0 -18
- clarifai_utils/models/model_serving/examples/visual_segmentation/segformer-b2/requirements.txt +0 -5
- clarifai_utils/models/model_serving/model_config/__init__.py +0 -14
- clarifai_utils/models/model_serving/model_config/config.py +0 -302
- clarifai_utils/models/model_serving/model_config/inference_parameter.py +0 -124
- clarifai_utils/models/model_serving/model_config/model_types_config/multimodal-embedder.yaml +0 -24
- clarifai_utils/models/model_serving/model_config/model_types_config/text-classifier.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/text-embedder.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/text-to-image.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/text-to-text.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/visual-classifier.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/visual-detector.yaml +0 -28
- clarifai_utils/models/model_serving/model_config/model_types_config/visual-embedder.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/model_types_config/visual-segmenter.yaml +0 -18
- clarifai_utils/models/model_serving/model_config/serializer.py +0 -134
- clarifai_utils/models/model_serving/models/__init__.py +0 -12
- clarifai_utils/models/model_serving/models/default_test.py +0 -275
- clarifai_utils/models/model_serving/models/inference.py +0 -42
- clarifai_utils/models/model_serving/models/model_types.py +0 -265
- clarifai_utils/models/model_serving/models/output.py +0 -124
- clarifai_utils/models/model_serving/models/pb_model.py +0 -74
- clarifai_utils/models/model_serving/models/test.py +0 -64
- clarifai_utils/models/model_serving/pb_model_repository.py +0 -101
- clarifai_utils/modules/README.md +0 -5
- clarifai_utils/modules/__init__.py +0 -0
- clarifai_utils/modules/css.py +0 -60
- clarifai_utils/modules/pages.py +0 -42
- clarifai_utils/modules/style.css +0 -217
- clarifai_utils/runners/__init__.py +0 -0
- clarifai_utils/runners/example.py +0 -33
- clarifai_utils/schema/search.py +0 -69
- clarifai_utils/urls/helper.py +0 -103
- clarifai_utils/utils/__init__.py +0 -0
- clarifai_utils/utils/logging.py +0 -90
- clarifai_utils/utils/misc.py +0 -33
- clarifai_utils/utils/model_train.py +0 -157
- clarifai_utils/versions.py +0 -6
- clarifai_utils/workflows/__init__.py +0 -0
- clarifai_utils/workflows/export.py +0 -68
- clarifai_utils/workflows/utils.py +0 -59
- clarifai_utils/workflows/validate.py +0 -67
- {clarifai-9.10.1.dist-info → clarifai-9.10.3.dist-info}/LICENSE +0 -0
- {clarifai-9.10.1.dist-info → clarifai-9.10.3.dist-info}/WHEEL +0 -0
- {clarifai-9.10.1.dist-info → clarifai-9.10.3.dist-info}/entry_points.txt +0 -0
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
from typing import Any, Dict, List
|
|
2
|
-
|
|
3
|
-
from clarifai_grpc.grpc.api import resources_pb2
|
|
4
|
-
from clarifai_grpc.grpc.api.service_pb2 import MultiModelTypeResponse
|
|
5
|
-
from google.protobuf.json_format import MessageToDict
|
|
6
|
-
from google.protobuf.struct_pb2 import Struct
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def response_to_templates(response: MultiModelTypeResponse, model_type_id: str) -> List[str]:
|
|
10
|
-
"""Converts the response from the API to a list of templates for the given model type id."""
|
|
11
|
-
dict_response = MessageToDict(response)
|
|
12
|
-
templates = []
|
|
13
|
-
for model_type in dict_response['modelTypes']:
|
|
14
|
-
if model_type['id'] == model_type_id:
|
|
15
|
-
for modeltypefield in model_type['modelTypeFields']:
|
|
16
|
-
if modeltypefield['path'].split('.')[-1] == "template":
|
|
17
|
-
templates = [template['id'] for template in modeltypefield['modelTypeEnumOptions']]
|
|
18
|
-
return templates
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def response_to_model_params(response: MultiModelTypeResponse,
|
|
22
|
-
model_type_id: str,
|
|
23
|
-
template: str = None) -> Dict[str, Any]:
|
|
24
|
-
"""Converts the response from the API to a dictionary of model params for the given model type id."""
|
|
25
|
-
dict_response = MessageToDict(response)
|
|
26
|
-
params = {}
|
|
27
|
-
params["dataset_id"] = ""
|
|
28
|
-
params["dataset_version_id"] = ""
|
|
29
|
-
if model_type_id not in ["clusterer", "text-to-text"]:
|
|
30
|
-
params["concepts"] = []
|
|
31
|
-
params["train_params"] = dict()
|
|
32
|
-
|
|
33
|
-
for model_type in dict_response['modelTypes']:
|
|
34
|
-
if model_type['id'] == model_type_id:
|
|
35
|
-
#iterate through the model type fields
|
|
36
|
-
for modeltypefield in model_type['modelTypeFields']:
|
|
37
|
-
_path = modeltypefield['path'].split('.')
|
|
38
|
-
#removing the fields which are not required
|
|
39
|
-
if (_path[0] in ["'eval_info'"]) or (_path[1] in ["dataset", "data"]) or (_path[-1] in [
|
|
40
|
-
"dataset_id", "dataset_version_id"
|
|
41
|
-
]):
|
|
42
|
-
continue
|
|
43
|
-
#checking the template model type fields
|
|
44
|
-
if _path[-1] != "template":
|
|
45
|
-
if _path[0] == 'train_info' or _path[0] == 'input_info':
|
|
46
|
-
try:
|
|
47
|
-
params["train_params"][_path[-1]] = modeltypefield['defaultValue']
|
|
48
|
-
except Exception:
|
|
49
|
-
params["train_params"][_path[-1]] = None
|
|
50
|
-
if _path[0] == 'output_info':
|
|
51
|
-
params["inference_params"] = dict()
|
|
52
|
-
try:
|
|
53
|
-
params["inference_params"][_path[-1]] = modeltypefield['defaultValue']
|
|
54
|
-
except Exception:
|
|
55
|
-
params["inference_params"][_path[-1]] = None
|
|
56
|
-
else:
|
|
57
|
-
if 'modelTypeEnumOptions' in modeltypefield.keys():
|
|
58
|
-
#check given template is valid
|
|
59
|
-
all_templates = [template['id'] for template in modeltypefield['modelTypeEnumOptions']]
|
|
60
|
-
if template not in all_templates:
|
|
61
|
-
raise ValueError(f"Invalid template {template} for model type {model_type_id}. "
|
|
62
|
-
f"Valid templates are {all_templates}")
|
|
63
|
-
for modeltypeenum in modeltypefield['modelTypeEnumOptions']:
|
|
64
|
-
#finding the given template
|
|
65
|
-
if modeltypeenum['id'] == template:
|
|
66
|
-
params['train_params']["template"] = modeltypeenum['id']
|
|
67
|
-
#iterate through the template fields
|
|
68
|
-
for modeltypeenumfield in modeltypeenum['modelTypeFields']:
|
|
69
|
-
try:
|
|
70
|
-
params["train_params"][modeltypeenumfield['path'].split('.')[
|
|
71
|
-
-1]] = modeltypeenumfield['defaultValue']
|
|
72
|
-
except Exception:
|
|
73
|
-
params["train_params"][modeltypeenumfield['path'].split('.')[-1]] = None
|
|
74
|
-
#custom config
|
|
75
|
-
if "custom_config" in params['train_params'].keys():
|
|
76
|
-
# Write the content to the file
|
|
77
|
-
file_path = params['train_params']['template'] + ".py"
|
|
78
|
-
with open(file_path, "w") as script_file:
|
|
79
|
-
script_file.write(params['train_params']['custom_config'])
|
|
80
|
-
params['train_params']['custom_config'] = file_path
|
|
81
|
-
|
|
82
|
-
return params
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def params_parser(params_dict: dict) -> Dict[str, Any]:
|
|
86
|
-
"""Converts the params dictionary to a dictionary of model specific params for the given model"""
|
|
87
|
-
#dict parser
|
|
88
|
-
train_dict = {}
|
|
89
|
-
train_dict["train_info"] = dict()
|
|
90
|
-
train_dict["output_info"] = dict()
|
|
91
|
-
|
|
92
|
-
train_dict["train_info"]['params'] = Struct()
|
|
93
|
-
if 'custom_config' in params_dict['train_params'].keys():
|
|
94
|
-
# Open and read the Python file
|
|
95
|
-
with open(params_dict['train_params']['custom_config'], 'r') as python_file:
|
|
96
|
-
custom_config = python_file.read()
|
|
97
|
-
params_dict['train_params']['custom_config'] = custom_config
|
|
98
|
-
|
|
99
|
-
if 'base_embed_model' in params_dict['train_params'].keys():
|
|
100
|
-
train_dict["input_info"] = dict()
|
|
101
|
-
train_dict["input_info"]['base_embed_model'] = params_dict['train_params']['base_embed_model']
|
|
102
|
-
train_dict['input_info'] = resources_pb2.InputInfo(**train_dict['input_info'])
|
|
103
|
-
del params_dict['train_params']['base_embed_model']
|
|
104
|
-
|
|
105
|
-
train_dict["train_info"]['params'].update(params_dict["train_params"])
|
|
106
|
-
train_dict["train_info"]['params']['dataset_id'] = params_dict['dataset_id']
|
|
107
|
-
train_dict["train_info"]['params']['dataset_version_id'] = params_dict['dataset_version_id']
|
|
108
|
-
train_dict['train_info'] = resources_pb2.TrainInfo(**train_dict['train_info'])
|
|
109
|
-
|
|
110
|
-
if 'concepts' in params_dict.keys():
|
|
111
|
-
train_dict["output_info"]['data'] = resources_pb2.Data(
|
|
112
|
-
concepts=[resources_pb2.Concept(id=concept_id) for concept_id in params_dict["concepts"]])
|
|
113
|
-
if 'inference_params' in params_dict.keys():
|
|
114
|
-
train_dict["output_info"]['params'] = Struct()
|
|
115
|
-
train_dict['output_info']['params'].update(params_dict["inference_params"])
|
|
116
|
-
train_dict['output_info'] = resources_pb2.OutputInfo(**train_dict['output_info'])
|
|
117
|
-
|
|
118
|
-
return train_dict
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
def response_to_param_info(response: MultiModelTypeResponse,
|
|
122
|
-
model_type_id: str,
|
|
123
|
-
param: str,
|
|
124
|
-
template: str = None) -> Dict[str, Any]:
|
|
125
|
-
"""Converts the response from the API to a dictionary of model param info for the given model type id."""
|
|
126
|
-
dict_response = MessageToDict(response)
|
|
127
|
-
for model_type in dict_response['modelTypes']:
|
|
128
|
-
if model_type['id'] == model_type_id:
|
|
129
|
-
#iterate through the model type fields
|
|
130
|
-
for modeltypefield in model_type['modelTypeFields']:
|
|
131
|
-
if modeltypefield['path'].split('.')[-1] == param:
|
|
132
|
-
if param == 'template':
|
|
133
|
-
del modeltypefield['placeholder']
|
|
134
|
-
del modeltypefield['modelTypeEnumOptions']
|
|
135
|
-
return modeltypefield
|
|
136
|
-
modeltypefield['param'] = modeltypefield.pop('path').split('.')[-1]
|
|
137
|
-
del modeltypefield['placeholder']
|
|
138
|
-
return modeltypefield
|
|
139
|
-
#checking the template model type fields
|
|
140
|
-
if modeltypefield['path'].split('.')[-1] == "template":
|
|
141
|
-
for modeltypeenum in modeltypefield['modelTypeEnumOptions']:
|
|
142
|
-
if modeltypeenum['id'] == template:
|
|
143
|
-
#iterate through the template fields
|
|
144
|
-
for modeltypeenumfield in modeltypeenum['modelTypeFields']:
|
|
145
|
-
if modeltypeenumfield['path'].split('.')[-1] == param:
|
|
146
|
-
modeltypeenumfield['param'] = modeltypeenumfield.pop('path').split('.')[-1]
|
|
147
|
-
del modeltypeenumfield['placeholder']
|
|
148
|
-
return modeltypeenumfield
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
def find_and_replace_key(nested_dict: Dict, target_key: str, replacement_value: Any) -> None:
|
|
152
|
-
"""Finds and replaces the target key with the replacement value in the nested dictionary."""
|
|
153
|
-
for key, value in nested_dict.items():
|
|
154
|
-
if key == target_key:
|
|
155
|
-
nested_dict[key] = replacement_value
|
|
156
|
-
elif isinstance(value, dict):
|
|
157
|
-
find_and_replace_key(value, target_key, replacement_value)
|
clarifai_utils/versions.py
DELETED
|
File without changes
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
from typing import Any, Dict
|
|
2
|
-
|
|
3
|
-
import yaml
|
|
4
|
-
from google.protobuf.json_format import MessageToDict
|
|
5
|
-
|
|
6
|
-
VALID_YAML_KEYS = ["workflow", "id", "nodes", "node_inputs", "node_id", "model"]
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def clean_up_unused_keys(wf: dict):
|
|
10
|
-
"""Removes unused keys from dict before exporting to yaml. Supports nested dicts."""
|
|
11
|
-
new_wf = dict()
|
|
12
|
-
for key, val in wf.items():
|
|
13
|
-
if key not in VALID_YAML_KEYS:
|
|
14
|
-
continue
|
|
15
|
-
if key == "model":
|
|
16
|
-
new_wf["model"] = {
|
|
17
|
-
"model_id": wf["model"]["id"],
|
|
18
|
-
"model_version_id": wf["model"]["model_version"]["id"]
|
|
19
|
-
}
|
|
20
|
-
# If the model is not from clarifai main, add the app_id and user_id to the model dict.
|
|
21
|
-
if wf["model"]["user_id"] != "clarifai" and wf["model"]["app_id"] != "main":
|
|
22
|
-
new_wf["model"].update({
|
|
23
|
-
"app_id": wf["model"]["app_id"],
|
|
24
|
-
"user_id": wf["model"]["user_id"]
|
|
25
|
-
})
|
|
26
|
-
elif isinstance(val, dict):
|
|
27
|
-
new_wf[key] = clean_up_unused_keys(val)
|
|
28
|
-
elif isinstance(val, list):
|
|
29
|
-
new_list = []
|
|
30
|
-
for i in val:
|
|
31
|
-
new_list.append(clean_up_unused_keys(i))
|
|
32
|
-
new_wf[key] = new_list
|
|
33
|
-
else:
|
|
34
|
-
new_wf[key] = val
|
|
35
|
-
return new_wf
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class Exporter:
|
|
39
|
-
|
|
40
|
-
def __init__(self, workflow):
|
|
41
|
-
self.wf = workflow
|
|
42
|
-
|
|
43
|
-
def __enter__(self):
|
|
44
|
-
return self
|
|
45
|
-
|
|
46
|
-
def parse(self) -> Dict[str, Any]:
|
|
47
|
-
"""Reads a resources_pb2.Workflow object (e.g. from a GetWorkflow response)
|
|
48
|
-
|
|
49
|
-
Returns:
|
|
50
|
-
dict: A dict representation of the workflow.
|
|
51
|
-
"""
|
|
52
|
-
if isinstance(self.wf, list):
|
|
53
|
-
self.wf = self.wf[0]
|
|
54
|
-
wf = {"workflow": MessageToDict(self.wf, preserving_proto_field_name=True)}
|
|
55
|
-
clean_wf = clean_up_unused_keys(wf)
|
|
56
|
-
self.wf_dict = clean_wf
|
|
57
|
-
return clean_wf
|
|
58
|
-
|
|
59
|
-
def export(self, out_path):
|
|
60
|
-
with open(out_path, 'w') as out_file:
|
|
61
|
-
yaml.dump(self.wf_dict["workflow"], out_file, default_flow_style=False)
|
|
62
|
-
|
|
63
|
-
def __exit__(self, *args):
|
|
64
|
-
self.close()
|
|
65
|
-
|
|
66
|
-
def close(self):
|
|
67
|
-
del self.wf
|
|
68
|
-
del self.wf_dict
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
from typing import Dict, Optional, Set
|
|
2
|
-
|
|
3
|
-
from clarifai_grpc.grpc.api import resources_pb2
|
|
4
|
-
from google.protobuf import struct_pb2
|
|
5
|
-
from google.protobuf.json_format import MessageToDict
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def get_yaml_output_info_proto(yaml_model_output_info: Dict) -> Optional[resources_pb2.OutputInfo]:
|
|
9
|
-
"""Converts a yaml model output info to an api model output info."""
|
|
10
|
-
if not yaml_model_output_info:
|
|
11
|
-
return None
|
|
12
|
-
|
|
13
|
-
return resources_pb2.OutputInfo(
|
|
14
|
-
params=convert_yaml_params_to_api_params(yaml_model_output_info.get('params')))
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def convert_yaml_params_to_api_params(yaml_params: Dict) -> Optional[struct_pb2.Struct]:
|
|
18
|
-
"""Converts a yaml model output info params to an api model output info params."""
|
|
19
|
-
if not yaml_params:
|
|
20
|
-
return None
|
|
21
|
-
|
|
22
|
-
s = struct_pb2.Struct()
|
|
23
|
-
s.update(yaml_params)
|
|
24
|
-
|
|
25
|
-
return s
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def is_same_yaml_model(api_model: resources_pb2.Model, yaml_model: Dict) -> bool:
|
|
29
|
-
"""Compares a model from the API with a model from a yaml file."""
|
|
30
|
-
api_model = MessageToDict(api_model, preserving_proto_field_name=True)
|
|
31
|
-
|
|
32
|
-
yaml_model_from_api = dict()
|
|
33
|
-
for k, _ in yaml_model.items():
|
|
34
|
-
if k == "output_info" and api_model["model_version"].get("output_info", "") != "":
|
|
35
|
-
yaml_model_from_api[k] = dict(params=api_model["model_version"]["output_info"].get("params"))
|
|
36
|
-
else:
|
|
37
|
-
yaml_model_from_api[k] = api_model.get(k)
|
|
38
|
-
yaml_model_from_api.update({"model_id": api_model.get("id")})
|
|
39
|
-
|
|
40
|
-
ignore_keys = {}
|
|
41
|
-
|
|
42
|
-
return is_dict_in_dict(yaml_model, yaml_model_from_api, ignore_keys)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def is_dict_in_dict(d1: Dict, d2: Dict, ignore_keys: Set = None) -> bool:
|
|
46
|
-
"""Compares two dicts recursively."""
|
|
47
|
-
for k, v in d1.items():
|
|
48
|
-
if ignore_keys and k in ignore_keys:
|
|
49
|
-
continue
|
|
50
|
-
if k not in d2:
|
|
51
|
-
return False
|
|
52
|
-
if isinstance(v, dict):
|
|
53
|
-
if not isinstance(d2[k], dict):
|
|
54
|
-
return False
|
|
55
|
-
return is_dict_in_dict(d1[k], d2[k], None)
|
|
56
|
-
elif v != d2[k]:
|
|
57
|
-
return False
|
|
58
|
-
|
|
59
|
-
return True
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
from schema import And, Optional, Regex, Schema, SchemaError, Use
|
|
2
|
-
|
|
3
|
-
# Non-empty, up to 32-character ASCII strings with internal dashes and underscores.
|
|
4
|
-
_id_validator = And(str, lambda s: 0 < len(s) <= 48, Regex(r'^[0-9A-Za-z]+([-_][0-9A-Za-z]+)*$'))
|
|
5
|
-
|
|
6
|
-
# 32-character hex string, converted to lower-case.
|
|
7
|
-
_hex_id_validator = And(str, Use(str.lower), Regex(r'^[0-9a-f]{32}'))
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def _model_does_not_have_model_version_id_and_other_fields(m):
|
|
11
|
-
""" Validate that model does not have model_version_id and other model fields."""
|
|
12
|
-
if ('model_version_id' in m) and _model_has_other_fields(m):
|
|
13
|
-
raise SchemaError(f"model should not set model_version_id and other model fields: {m};"
|
|
14
|
-
f" please remove model_version_id or other model fields.")
|
|
15
|
-
return True
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def _model_has_other_fields(m):
|
|
19
|
-
return any(k not in ['model_id', 'model_version_id'] for k in m.keys())
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def _workflow_nodes_have_valid_dependencies(nodes):
|
|
23
|
-
"""Validate that all inputs to a node are declared before it."""
|
|
24
|
-
node_ids = set()
|
|
25
|
-
for node in nodes:
|
|
26
|
-
for node_input in node.get("node_inputs", []):
|
|
27
|
-
if node_input["node_id"] not in node_ids:
|
|
28
|
-
raise SchemaError(f"missing input '{node_input['node_id']}' for node '{node['id']}'")
|
|
29
|
-
node_ids.add(node["id"])
|
|
30
|
-
|
|
31
|
-
return True
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
_data_schema = Schema({
|
|
35
|
-
"workflow": {
|
|
36
|
-
"id":
|
|
37
|
-
_id_validator,
|
|
38
|
-
"nodes":
|
|
39
|
-
And(
|
|
40
|
-
len,
|
|
41
|
-
[{
|
|
42
|
-
"id":
|
|
43
|
-
And(str, len), # Node IDs are not validated as IDs by the API.
|
|
44
|
-
"model":
|
|
45
|
-
And({
|
|
46
|
-
"model_id": _id_validator,
|
|
47
|
-
Optional("app_id"): _id_validator,
|
|
48
|
-
Optional("user_id"): _id_validator,
|
|
49
|
-
Optional("model_version_id"): _hex_id_validator,
|
|
50
|
-
Optional("model_type_id"): _id_validator,
|
|
51
|
-
Optional("description"): str,
|
|
52
|
-
Optional("output_info"): {
|
|
53
|
-
Optional("params"): dict,
|
|
54
|
-
},
|
|
55
|
-
}, _model_does_not_have_model_version_id_and_other_fields),
|
|
56
|
-
Optional("node_inputs"):
|
|
57
|
-
And(len, [{
|
|
58
|
-
"node_id": And(str, len),
|
|
59
|
-
}]),
|
|
60
|
-
}],
|
|
61
|
-
_workflow_nodes_have_valid_dependencies),
|
|
62
|
-
},
|
|
63
|
-
})
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def validate(data):
|
|
67
|
-
return _data_schema.validate(data)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|