By: Meqdad Darwish
A lightweight Python package optimized for integrating exported models from Google's Teachable Machine Platform into robotics and embedded systems environments. This streamlined version of Teachable Machine Package is specifically designed for resource-constrained devices, making it easier to deploy and use your trained models in embedded applications. With a focus on efficiency and minimal dependencies, this tool maintains the core functionality while being more suitable for robotics and IoT projects.
Source Code is published on GitHub
Read more about the project (requirements, installation, examples and more) in the Documentation Website
Image Classification: Use exported and quantized TensorFlow Lite model from Teachable Machine Platform (a model file with tflite
extension).
For detailed information about package requirements and dependencies, please visit our documentation
Python >= 3.9
numpy < 2.0 (v1.26.4 recommended)
pip install teachable-machine-lite
numpy
tflite-runtime
Pillow
An example for teachable machine lite package with OpenCV:
from teachable_machine_lite import TeachableMachineLite
import cv2 as cv
cap = cv.VideoCapture(0)
model_path = "model.tflite"
labels_path = "labels.txt"
image_file_name = "screenshot.jpg"
tm_model = TeachableMachineLite(model_path=model_path, labels_file_path=labels_path)
while True:
ret, img = cap.read()
cv.imwrite(image_file_name, img)
results, resultImage = tm_model.classify_and_show(image_file_name, convert_to_bgr=True)
print("results:", results)
cv.imshow("Camera", resultImage)
k = cv.waitKey(1)
if k == 27: # Press ESC to close the camera view
break
cap.release()
cv.destroyAllWindows()
Values of results
are assigned based on the content of labels.txt
file.
For more; take a look on these examples