Machine learning utilities for model conversion, serialization, loading etc
Project description
Machine learning utilities for model conversion, serialization, loading etc
Free software: Apache Software License 2.0
Installation
pip install ml2rt
Documentation
ml2rt provides some convenient functions to convert, save & load machine learning models. It currently supports Tensorflow, PyTorch, Sklearn, Spark and ONNX but frameworks like xgboost, coreml are on the way.
Saving Tensorflow model
import tensorflow as tf
from ml2rt import save_tensorflow
# train your model here
sess = tf.Session()
save_tensorflow(sess, path, output=['output'])
Saving PyTorch model
# it has to be a torchscript graph made by tracing / scripting
from ml2rt import save_torch
save_torch(torch_script_graph, path)
Saving ONNX model
from ml2rt import save_onnx
save_onnx(onnx_model, path)
Saving sklearn model
from ml2rt import save_sklearn
prototype = np.array(some_shape, dtype=some_dtype) # Equivalent to the input of the model
save_sklearn(sklearn_model, path, prototype=prototype)
# or
# some_shape has to be a tuple and some_dtype has to be a np.dtype, np.dtype.type or str object
save_sklearn(sklearn_model, path, shape=some_shape, dtype=some_dtype)
# or
# some_shape has to be a tuple and some_dtype has to be a np.dtype, np.dtype.type or str object
inital_types = utils.guess_onnx_tensortype(shape=shape, dtype=dtype)
save_sklearn(sklearn_model, path, initial_types=initial_types)
Saving sparkml model
from ml2rt import save_sparkml
prototype = np.array(some_shape, dtype=some_dtype) # Equivalent to the input of the model
save_sparkml(spark_model, path, prototype=prototype)
# or
# some_shape has to be a tuple and some_dtype has to be a np.dtype, np.dtype.type or str object
save_sparkml(spark_model, path, shape=some_shape, dtype=some_dtype)
# or
# some_shape has to be a tuple and some_dtype has to be a np.dtype, np.dtype.type or str object
inital_types = utils.guess_onnx_tensortype(shape=shape, dtype=dtype)
save_sparkml(spark_model, path, initial_types=initial_types)
Sklearn and sparkml models will be converted to ONNX first and then save to the disk. These models can be executed using ONNXRuntime, RedisAI etc. ONNX conversion needs to know the type of the input nodes and hence we have to pass shape & dtype or a prototype from where the utility can infer the shape & dtype or an initial_type object which is understood by the conversion utility. Frameworks like sparkml allows users to have heterogeneous inputs with more than one type. In such cases, use guess_onnx_tensortypes and create more than one initial_types which can be passed to save function as a list
Loading model & script
Loading function can load both single file models like freezed tensorflow model or torchscript model or onnx model as well as SavedModel from tensorflow
model = ml2rt.load_model(path)
script = ml2rt.load_script(script)
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
File details
Details for the file ml2rt-0.2.0.tar.gz
.
File metadata
- Download URL: ml2rt-0.2.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42ba3cb342582fcc568cb7006b2a9dc3a8c53ec33652b205b6fd583167978fb8 |
|
MD5 | 2ff457786ab20e0a5dd384357b187e4c |
|
BLAKE2b-256 | 8afd9398149da6382459596497b6e0627fff15a456161c3604ebe4b02d2b5037 |
File details
Details for the file ml2rt-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: ml2rt-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e8f154d46d518df8ca3c030bf89e6270138c6a7bf962a60e795f2e51e6021da |
|
MD5 | 0c3aa1539b4330aec2c30f0d3387fb2e |
|
BLAKE2b-256 | 49ecc186d1ad290ed73258c6c3196bf4b05db447c3cd8cb8669bcef6bee2322a |