Minimum Requirements

ComponentSpecifications
CPUx64 architecture with 6 Cores (Intel core i5-10600 or equivalent) & above
RAM16GB & above
OSLinux (Ubuntu 22.04)
Storage20GB (Additional storage should be considered for the model-to-optimize)
FrameworkTensorFlow Lite(TF Lite)*, PyTorch. Check the supported layers below.
Python ver.3.8 ~ 3.10

*If you're using a TensorFlow model, here's a guide to convert TensorFlow model to TF Lite model.


ℹ️

The requirements above are for the host device NOT the target device. The requirements for the target device are listed in Optimium Runtime. If you’re unfamiliar with the terms target device and host device, please refer to Set up target device in remote setting.


Supported layers

Expand to view supported layers
No.LayerTensorFlowPyTorchNotes
1ADDβœ…βœ…TF: If broadcasting occurs on the batch side (0th axis), it will not work normally.
2AVERAGE_POOL_2Dβœ…βœ…
3CONCATENATIONβœ…βœ…
4CONV_2Dβœ…βœ…
5DEPTHWISE_CONV_2Dβœ…βœ…
6DEPTH_TO_SPACEβœ…βœ…
7DEQUANTIZEβœ…βœ…
8FLOORβœ…βœ…
9FULLY_CONNECTEDβœ…βœ…
10LOGISTICβœ…βœ…
11MAX_POOL_2Dβœ…βœ…
12MULβœ…βœ…TF: If broadcasting occurs on the batch side (0th axis), it will not work normally.
13RELUβœ…βœ…
14RELU6βœ…βœ…
15RESHAPEβœ…βœ…
16RESIZE_BILINEARβœ…βŒ
17SOFTMAXβœ…βœ…
18SPACE_TO_DEPTHβœ…βœ…
19TANHβœ…βœ…
20PADβœ…βœ…
21GATHERβœ…βœ…
22BATCH_TO_SPACE_NDβœ…βŒ
23SPACE_TO_BATCH_NDβœ…βŒ
24TRANSPOSEβœ…βœ…
25MEANβœ…βœ…
26SUBβœ…βœ…TF: If broadcasting occurs on the batch side (0th axis), it will not work normally.
27DIVβœ…βœ…TF: If broadcasting occurs on the batch side (0th axis), it will not work normally.
28SQUEEZEβœ…βœ…
29STRIDED_SLICEβœ…βŒ
30EXPβœ…βœ…
31TOPK❌❌Currently in maintenance
32SPLITβœ…βœ…
33CASTβœ…βœ…
34PRELUβœ…βœ…
35MAXIMUMβœ…βœ…
36MINIMUMβœ…βœ…
37LESSβœ…βœ…
38NEGβœ…βœ…
39PADβœ…βœ…
40GREATERβœ…βœ…
41GREATER_EQUALβœ…βœ…
42LESS_EQUALβœ…βœ…
43SLICEβœ…βŒ
44SINβœ…βœ…
45TRANSPOSE_CONVβœ…βœ…
46TILEβœ…βŒ
47EQUALβœ…βœ…PyTorch: Not supported with float.
48NOT_EQUALβœ…βœ…
49SUMβœ…βœ…
50SQRTβœ…βœ…
51RSQRTβœ…βœ…
52REDUCE_PRODβœ…βœ…
53REDUCE_MAXβœ…βœ…
54LOGICAL_ORβœ…βœ…
55LOGICAL_ANDβœ…βœ…
56REDUCE_MINβœ…βœ…
57FLOOR_DIVβœ…βœ…
58SQUAREβœ…βœ…
59ZEROS_LIKEβœ…βœ…
60FILLβœ…βœ…
61FLOOR_MODβœ…βœ…
62RESIZE_NEAREST_NEIGHBORβœ…βŒ
63LEAKY_RELUβœ…βœ…
64ABSβœ…βœ…
65CEILβœ…βœ…
66GATHER_NDβœ…βŒPyTorch does not support GATHER_ND.
67COSβœ…βœ…
68ELUβœ…βœ…
69ROUNDβœ…βœ…
70HARD_SWISHβœ…βœ…
71HARDSIGMOIDβœ…βœ…
72SWISHβœ…βœ…
73BATCHNORM_2Dβœ…βœ…
74ADAPTIVE_AVG_POOL_2DβŒβœ…TF does not support ADAPTIVEAVGPOOL2D. PyTorch: For kernel sizes that are not too large, normal operation is expected.
75ADAPTIVE_MAX_POOL_2DβŒβœ…TF does not support ADAPTIVEMAXPOOL2D . PyTorch: For kernel sizes that are not too large, normal operation is expected.
76CUMSUMβœ…βŒ
77INTERPOLATEβœ…βœ…
78LINEARβœ…βœ…
79LOGβœ…βœ…
80MAXβœ…βœ…
81MINβœ…βœ…
82ARG_MAXβœ…βœ…PyTorch: Only Support if the 'dim' argument is explicitly specified as an int type.
83LOGβœ…βœ…
84FLOORβœ…βœ…
85BATCHMATMULβœ…βŒ
86ARG_MINβœ…βœ…

Before you start

Get License Key

You need to get a license key to activate Optimium.

πŸ“© Check your e-mail

You'll receive an e-mail from ENERZAi.

Please double check your junk mail box if you didn't receive any message. If it's still not there, please contact [email protected].


To set up the Optimium environment, you can either 1) install the package locally or 2) use a Docker image. This page focus on installing the package locally, so please refer to Quickstart page if you want to know more about leveraging the Docker image.


Install Optimium SDK

1. Download Optimium SDK

Click the URL provided within our e-mail. It will lead you to a shared Google Drive folder as below.

Download Optimium_SDK.zip from Google Drive. Use unzip command or file explorer to extract files from zip file.

~$ unzip Optimium_SDK.zip

*Note that each subdirectory in optimium contains identical wheel packages, but for different Python versions.

~$ unzip Optimium_SDK.zip
~$ tree Optimium_SDK
~/Optimium_SDK/
    β”œβ”€β”€ install_requirements.sh
    β”œβ”€β”€ setup.sh
    β”œβ”€β”€ optimium
    |    β”œβ”€β”€ install_optimium.sh
    |    β”œβ”€β”€ python3.8
    |    |        β”œβ”€β”€ optimium-1.0.8-cp38-cp38-linux_x86_64.whl
    |    |        β”œβ”€β”€ zaiConverter-2.1.2-cp38-cp38-linux_x86_64.whl
    |    |        β”œβ”€β”€ OpMeta-0.1-cp38-cp38-linux_x86_64.whl
    |    β”œβ”€β”€ python3.9
    |    └── python3.10
    β”œβ”€β”€ nadya
    |    └── nadya_0.2.16_amd64.deb
    └── runtime
         β”œβ”€β”€ install_runtime.sh
         β”œβ”€β”€ runtime-docs/
         └── runtime/

2. Install Optimium @Host PC

Install dependency packages

Before installing Optimium, please install the dependency packages by running install_requirements.sh.

Note that this requires sudo permission, therefore, ask your administrator if you don't have permission.

~$ unzip Optimium_SDK.zip
~$ cd Optimium_SDK
~$ chmod +x install_requirements.sh
~$ sudo ./install_requirements.sh

Recommended: Install using script

To run Optimium, you need to install packages in Optimium_SDK/optimium and Optimium_SDK/nadya.

You can simply run setup.shto install all requirements (it will automatically recognize your python version).

~$ cd Optimium_SDK
~$ chmod +x setup.sh
~$ ./setup.sh

Optional: Install components individually

You can install each package individually if you only want to install a specific component.

*Please note that you need to install optimium package wheel file that matches your python version

~$ cd Optimium_SDK
~$ chmod +x install_requirements.sh
~$ sudo ./install_requirements.sh
~$
~$ chmod +x optimium/install_optimium.sh
~$ ./optmium/install_optimium.sh
~$
~$ pip3 install -f "./runtime/python" optimium-runtime[all]

ℹ️

Optimium is provided as a Python package and supports Python versions 3.8 to 3.10. If your local environment doesn’t include a supported Python version, please use a virtual environment such as Docker, Anaconda, or Virtualenv, etc.