SaaSHub helps you find the best software and product alternatives Learn more →
Top 10 Python Coreml Projects
-
catboost
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
MMdnn
MMdnn is a set of tools to help users inter-operate among different deep learning frameworks. E.g. model conversion and visualization. Convert models between Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx and CoreML.
-
coremltools
Core ML tools contain supporting tools for Core ML model conversion, editing, and validation.
-
PINTO_model_zoo
A repository for storing models that have been inter-converted between various frameworks. Supported frameworks are TensorFlow, PyTorch, ONNX, OpenVINO, TFJS, TFTRT, TensorFlowLite (Float32/16/INT8), EdgeTPU, CoreML.
-
AnimeGANv3
Use AnimeGANv3 to make your own animation works, including turning photos or videos into anime.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
tflite2tensorflow
Generate saved_model, tfjs, tf-trt, EdgeTPU, CoreML, quantized tflite, ONNX, OpenVINO, Myriad Inference Engine blob and .pb from .tflite. Support for building environments with Docker. It is possible to directly access the host PC GUI and the camera to verify the operation. NVIDIA GPU (dGPU) support. Intel iHD GPU (iGPU) support. Supports inverse quantization of INT8 quantization model.
Ref https://www.youtube.com/watch?v=0GwnxFNfZhM https://github.com/ultralytics/yolov5 https://dev.to/gfstealer666/kaaraich-yolo-alkrithuemainkaartrwcchcchabwatthu-object-detection-3lef https://www.kaggle.com/datasets/devdgohil/the-oxfordiiit-pet-dataset/data
Project mention: CatBoost: Open-source gradient boosting library | news.ycombinator.com | 2024-03-05
Project mention: CoreML commit from Apple mentions iOS17 exclusive features | /r/u_Standard-Sundae-6011 | 2023-06-03
Project mention: I made an app that runs Mistral 7B 0.2 LLM locally on iPhone Pros | news.ycombinator.com | 2024-01-07Conceptually, to the best of my understanding, nothing too serious; perhaps the inefficiency of processing a larger input than necessary?
Practically, a few things:
If you want to have your cake & eat it too, they recommend Enumerated Shapes[1] in their coremltools docs, where CoreML precompiles up to 128 (!) variants of input shapes, but again this is fairly limiting (1 tok, 2 tok, 3 tok... up to 128 token prompts.. maybe you enforce a minimum, say 80 tokens to account for a system prompt, so up to 200 tokens, but... still pretty short). But this is only compatible with CPU inference, so that reduces its appeal.
It seems like its current state was designed for text embedding models, where you normalize input length by chunking (often 128 or 256 tokens) and operate on the chunks — and indeed, that’s the only text-based CoreML model that Apple ships today, a Bert embedding model tuned for Q&A[2], not an LLM.
You could used a fixed input length that’s fairly large; I haven’t experimented with it once I grasped the memory requirements, but from what I gather from HuggingFace’s announcement blog post[3], it seems that is what they do with swift-transformers & their CoreML conversions, handling the details for you[4][5]. I haven’t carefully investigated the implementation, but I’m curious to learn more!
You can be sure that no one is more aware of all this than Apple — they published "Deploying Transformers on the Apple Neural Engine" in June 2022[6]. I look forward to seeing what they cook up for developers at WWDC this year!
---
[1] "Use `EnumeratedShapes` for best performance. During compilation the model can be optimized on the device for the finite set of input shapes. You can provide up to 128 different shapes." https://apple.github.io/coremltools/docs-guides/source/flexi...
[2] BertSQUAD.mlmodel (fp16) https://developer.apple.com/machine-learning/models/#text
[3] https://huggingface.co/blog/swift-coreml-llm#optimization
[4] `use_fixed_shapes` "Retrieve the max sequence length from the model configuration, or use a hardcoded value (currently 128). This can be subclassed to support custom lengths." https://github.com/huggingface/exporters/pull/37/files#diff-...
[5] `use_flexible_shapes` "When True, inputs are allowed to use sequence lengths of `1` up to `maxSequenceLength`. Unfortunately, this currently prevents the model from running on GPU or the Neural Engine. We default to `False`, but this can be overridden in custom configurations." https://github.com/huggingface/exporters/pull/37/files#diff-...
[6] https://machinelearning.apple.com/research/neural-engine-tra...
Project mention: M2 Ultra can run 128 streams of Llama 2 7B in parallel | news.ycombinator.com | 2023-10-11
Python Coreml related posts
- I made an app that runs Mistral 7B 0.2 LLM locally on iPhone Pros
- M2 Ultra can run 128 streams of Llama 2 7B in parallel
- CoreML commit from Apple mentions iOS17 exclusive features
- CoreML commit from Apple mentions iOS17 exclusive features
- CoreML commit from Apple mentions iOS17 exclusive features
- Lisa Su Saved AMD. Now She Wants Nvidia's AI Crown
- Is it possible to use ANE(Apple Neural Engine) to run those models?
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Apr 2024
Index
What are some of the best open-source Coreml projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | yolov5 | 46,738 |
2 | catboost | 7,731 |
3 | CoreML-Models | 6,212 |
4 | MMdnn | 5,782 |
5 | coremltools | 4,049 |
6 | PINTO_model_zoo | 3,262 |
7 | AnimeGANv3 | 1,568 |
8 | exporters | 525 |
9 | tflite2tensorflow | 249 |
10 | more-ane-transformers | 34 |
Sponsored