Lobe Python SDK
Project description
Lobe Python API
Code to run exported Lobe models in Python using the TensorFlow, TensorFlow Lite, or ONNX options.
Works with Python 3.6, 3.7, and 3.8 untested for other versions.
Install
Backend options with pip
You can install each of the backends on an individual basis, or all together through pip like so:
# For all of the supported backends (TensorFlow, TensorFlow Lite, ONNX)
pip install lobe[all]
# For TensorFlow only
pip install lobe[tf]
# For TensorFlow Lite only -- this requires two steps for the runtime and for lobe (note for Raspberry Pi see our setup script in scripts/lobe-rpi-install.sh)
pip install --index-url https://google-coral.github.io/py-repo/ tflite_runtime
pip install lobe
# For ONNX only
pip install lobe[onnx]
Installing lobe-python without any options (pip install lobe
) will only install the base requirements, no backends will be installed.
If you try to load a model with a backend that hasn't been installed, an error message will
show you the instructions to install the correct backend.
Linux
Before running these commands, make sure that you have git installed.
# Install Python3
sudo apt update
sudo apt install -y python3-dev python3-pip
# Install Pillow dependencies
sudo apt update
sudo apt install -y libatlas-base-dev libopenjp2-7 libtiff5 libjpeg62-dev
# Install lobe-python
pip3 install setuptools
# Swap out the 'all' option here for your desired backend from 'backend options with pip' above.
pip3 install lobe[all]
For Raspberry Pi OS (Raspian) run:
cd ~
wget https://raw.githubusercontent.com/lobe/lobe-python/master/scripts/lobe-rpi-install.sh
sudo ./lobe-rpi-install.sh
Mac/Windows
We recommend using a virtual environment:
python3 -m venv .venv
# Mac:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate
Install the library
# Make sure pip is up to date
python -m pip install --upgrade pip
# Swap out the 'all' option here for your desired backend from 'backend options with pip' above.
pip install lobe[all]
Usage
from lobe import ImageModel
model = ImageModel.load('path/to/exported/model/folder')
# OPTION 1: Predict from an image file
result = model.predict_from_file('path/to/file.jpg')
# OPTION 2: Predict from an image url
result = model.predict_from_url('http://url/to/file.jpg')
# OPTION 3: Predict from Pillow image
from PIL import Image
img = Image.open('path/to/file.jpg')
result = model.predict(img)
# Print top prediction
print(result.prediction)
# Print all classes
for label, confidence in result.labels:
print(f"{label}: {confidence*100}%")
Note: model predict functions should be thread-safe. If you find bugs please file an issue.
Resources
See the Raspberry Pi Trash Classifier example, and its Adafruit Tutorial.
Project details
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
File details
Details for the file lobe-0.5.0.tar.gz
.
File metadata
- Download URL: lobe-0.5.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 847bc9b3a620bf24f2b9669142a83be2948cff70ebfeb2dd2ac99af53a6cb071 |
|
MD5 | 87c671334982885ece458171e12a2971 |
|
BLAKE2b-256 | 4f38df643b3c0fbda3a1a60a45ed6739a1ec8d53bf5acf429797155e2e56eaaa |
File details
Details for the file lobe-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: lobe-0.5.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4e2afa984186c0fdf3f5bb995c4f8e409106fd48204619c4daf4969cda955ee |
|
MD5 | 8e73a5c6f8965a5ee68de22b97d0360a |
|
BLAKE2b-256 | 48b50621ad4fe704dea6aae3b5bcbebe9a7e59b76504f9270135630dc21d2a83 |