A thin wrapper around keras image classification applications.
Project description
keras-image-classification-wrapper
A thin wrapper around keras image classification applications.
Installation
pip install keras-image-classification-wrapper
Usage
def classify(
image: Union[str, bytes, pillow.Image.Image],
results: int = 3,
model: str = INCEPTIONV3,
) -> tuple:
Classify an image.
results
has to be less that 5, since keras applications don't give more than five results.
model
has to be one of: XCEPTION
, VGG16
, VGG19
, RESNET50
, RESNET101
, RESNET152
, RESNET50V2
, RESNET101V2
, RESNET152V2
, INCEPTIONV3
, INCEPTIONRESNETV2
, MOBILENET
, MOBILENETV2
, DENSENET121
, DENSENET169
, DENSENET201
, NASNETMOBILE
, NASNETLARGE
, EFFICIENTNETB0
, EFFICIENTNETB1
, EFFICIENTNETB2
, EFFICIENTNETB3
, EFFICIENTNETB4
, EFFICIENTNETB5
, EFFICIENTNETB6
, EFFICIENTNETB7
. Take a look at model characteristics, if you are not sure, which one to choose.
def load_model(model: str) -> None:
Preload a model.
Loading of desired model is done automatically at the first call of classify
. But it can take significant time, if weights need to be downloaded. So you can preload a model.
Usage examples
With local files:
import keras_image_classification as image_classification
file_path = "path/to/image.png"
labels = image_classification.classify(file_path, results = 3,
model = image_classification.INCEPTIONV3)
print(labels)
With byte-like objects (here with requests):
import requests
import keras_image_classification as image_classification
response = requests.get("https://http.cat/100")
assert response.status_code == 200
labels = image_classification.classify(response.content, results = 3,
model = image_classification.INCEPTIONV3)
print(labels)
You can also pass pillow images directly:
import PIL as pillow
import keras_image_classification as image_classification
file_path = "path/to/image.png"
image = pillow.Image.open(file_path)
labels = image_classification.classify(image, results = 3,
model = image_classification.INCEPTIONV3)
print(labels)
Output:
({'label': 'Persian_cat', 'probability': 0.7992992997169495},
{'label': 'web_site', 'probability': 0.03164924681186676},
{'label': 'jigsaw_puzzle', 'probability': 0.0135102029889822})
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for keras-image-classification-wrapper-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c2ea6083c62db67144f7ae23a46c9de0f33893ed8710a3459a2c89dc9a6377 |
|
MD5 | 9c66c0f9adceb8cc1b9fada4b7d64fbd |
|
BLAKE2b-256 | 2dae5a609550a2538cbfd2978da298268fe3122fe3b9a444992bebcab7ef9768 |
Hashes for keras_image_classification_wrapper-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7db944715149b0499d73cc50fb57b004e97307c6685482987510a8857a9c5ac |
|
MD5 | a195632e166f86f4fb705c1e9238f720 |
|
BLAKE2b-256 | e08b615c504fe5e809dcdf31984628a83c6e123f42959d80b6ccc5b779587b67 |