Optimium
Minimum Requirements
Component | Specifications |
---|---|
CPU | x64 architecture with 6 Cores (Intel core i5-10600 or equivalent) & above |
RAM | 16GB & above |
OS | Linux (Ubuntu 22.04) |
Storage | 20GB (Additional storage should be considered for the model-to-optimize) |
Framework | TensorFlow 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 thetarget device
. The requirements for thetarget device
are listed in Optimium Runtime. If youβre unfamiliar with the termstarget device
andhost device
, please refer to Set up target device in remote setting.
Supported layers
Expand to view supported layers
No. | Layer | TensorFlow | PyTorch | Notes |
---|---|---|---|---|
1 | ADD | β | β | TF: If broadcasting occurs on the batch side (0th axis), it will not work normally. |
2 | AVERAGE_POOL_2D | β | β | |
3 | CONCATENATION | β | β | |
4 | CONV_2D | β | β | |
5 | DEPTHWISE_CONV_2D | β | β | |
6 | DEPTH_TO_SPACE | β | β | |
7 | DEQUANTIZE | β | β | |
8 | FLOOR | β | β | |
9 | FULLY_CONNECTED | β | β | |
10 | LOGISTIC | β | β | |
11 | MAX_POOL_2D | β | β | |
12 | MUL | β | β | TF: If broadcasting occurs on the batch side (0th axis), it will not work normally. |
13 | RELU | β | β | |
14 | RELU6 | β | β | |
15 | RESHAPE | β | β | |
16 | RESIZE_BILINEAR | β | β | |
17 | SOFTMAX | β | β | |
18 | SPACE_TO_DEPTH | β | β | |
19 | TANH | β | β | |
20 | PAD | β | β | |
21 | GATHER | β | β | |
22 | BATCH_TO_SPACE_ND | β | β | |
23 | SPACE_TO_BATCH_ND | β | β | |
24 | TRANSPOSE | β | β | |
25 | MEAN | β | β | |
26 | SUB | β | β | TF: If broadcasting occurs on the batch side (0th axis), it will not work normally. |
27 | DIV | β | β | TF: If broadcasting occurs on the batch side (0th axis), it will not work normally. |
28 | SQUEEZE | β | β | |
29 | STRIDED_SLICE | β | β | |
30 | EXP | β | β | |
31 | TOPK | β | β | Currently in maintenance |
32 | SPLIT | β | β | |
33 | CAST | β | β | |
34 | PRELU | β | β | |
35 | MAXIMUM | β | β | |
36 | MINIMUM | β | β | |
37 | LESS | β | β | |
38 | NEG | β | β | |
39 | PAD | β | β | |
40 | GREATER | β | β | |
41 | GREATER_EQUAL | β | β | |
42 | LESS_EQUAL | β | β | |
43 | SLICE | β | β | |
44 | SIN | β | β | |
45 | TRANSPOSE_CONV | β | β | |
46 | TILE | β | β | |
47 | EQUAL | β | β | PyTorch: Not supported with float. |
48 | NOT_EQUAL | β | β | |
49 | SUM | β | β | |
50 | SQRT | β | β | |
51 | RSQRT | β | β | |
52 | REDUCE_PROD | β | β | |
53 | REDUCE_MAX | β | β | |
54 | LOGICAL_OR | β | β | |
55 | LOGICAL_AND | β | β | |
56 | REDUCE_MIN | β | β | |
57 | FLOOR_DIV | β | β | |
58 | SQUARE | β | β | |
59 | ZEROS_LIKE | β | β | |
60 | FILL | β | β | |
61 | FLOOR_MOD | β | β | |
62 | RESIZE_NEAREST_NEIGHBOR | β | β | |
63 | LEAKY_RELU | β | β | |
64 | ABS | β | β | |
65 | CEIL | β | β | |
66 | GATHER_ND | β | β | PyTorch does not support GATHER_ND. |
67 | COS | β | β | |
68 | ELU | β | β | |
69 | ROUND | β | β | |
70 | HARD_SWISH | β | β | |
71 | HARDSIGMOID | β | β | |
72 | SWISH | β | β | |
73 | BATCHNORM_2D | β | β | |
74 | ADAPTIVE_AVG_POOL_2D | β | β | TF does not support ADAPTIVEAVGPOOL2D. PyTorch: For kernel sizes that are not too large, normal operation is expected. |
75 | ADAPTIVE_MAX_POOL_2D | β | β | TF does not support ADAPTIVEMAXPOOL2D . PyTorch: For kernel sizes that are not too large, normal operation is expected. |
76 | CUMSUM | β | β | |
77 | INTERPOLATE | β | β | |
78 | LINEAR | β | β | |
79 | LOG | β | β | |
80 | MAX | β | β | |
81 | MIN | β | β | |
82 | ARG_MAX | β | β | PyTorch: Only Support if the 'dim' argument is explicitly specified as an int type. |
83 | LOG | β | β | |
84 | FLOOR | β | β | |
85 | BATCHMATMUL | β | β | |
86 | ARG_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.sh
to 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.
Updated 6 months ago