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 deviceNOT thetarget device. The requirements for thetarget deviceare listed in Optimium Runtime. If youβre unfamiliar with the termstarget deviceandhost 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_v1.2.0.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.2.0-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.3.9_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.
Updated 4 days ago