Overview of Supported Libraries and Packages
We currently support TensorFlow 2.13.x, Keras 2.6, Scikit-learn 1.5.2 and PyTorch 2.0.1 with Python 3.8. The model file must follow the specified format, as outlined on the Model Structure page.
At the moment, we do not support JaX but this framework is on our roadmap for future updates.
Our platform currently supports use cases such as:
- Image Classification
- Object Detection
- Keypoint Detection
- Text Classification using SLM
- Tabular Classification
All Supported Libraries and Packages
- Keras
- Tensorflow
- torch
- torchvision
- TIMM (PyTorch Image Models)
- HuggingFace Models
Pytorch
We are currently supporting PyTorch 2.0.1.
Sklearn
We are currently supporting Sklearn 1.5.2 for Tabular Classification.
Tensorflow
We are currently supporting TensorFlow 2.13.x.
TensorFlow Sequential API
We provide model examples using the Sequential API for testing our infrastructure.
A sequential model is suitable for models with a single input and output tensor per layer. However, it is not recommended for models with:
- Multiple inputs or outputs
- Layers with shared inputs or outputs
- Non-linear topologies (e.g., residual connections, multi-branch models)
Example of a Sequential model with three layers:
model = keras.Sequential(
[
layers.Dense(2, activation="relu", name="layer1"),
layers.Dense(3, activation="relu", name="layer2"),
layers.Dense(4, name="layer3"),
]
)
# Call model on a test input
x = tf.ones((3, 3))
y = model(x)
TensorFlow Functional API
We also provide model examples using the Functional API.
The Keras functional API offers more flexibility than the Sequential API. It supports models with non-linear topologies, shared layers, and multiple inputs or outputs.
Example of a Functional model with seven layers:
# import necessary layers
from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, ZeroPadding2D,\
Flatten, BatchNormalization, Dense, Activation
from tensorflow.keras.models import Model
from tensorflow.keras import activations
from tensorflow.keras.optimizers import Adam
def MyModel(input_shape=(224, 224, 3),classes=3):
# define input layer
input_layer = Input(shape =input_shape)
# define different layers to build the desired architecture
x = ZeroPadding2D(padding=(3, 3))(input_layer)
x = Conv2D(64, kernel_size=(7, 7), strides=(2, 2))(x)
x = BatchNormalization()(x)
x = Activation(activations.relu)(x)
x = MaxPooling2D((3, 3), strides=(2, 2))(x)
# include flatten the input to pass in Dense layer
x = Flatten()(x)
x = Dense(classes, activation='softmax')(x)
# Get the Model instance to return as ourt final model
model = Model(inputs=input_layer, outputs=x)
return model
Tensorflow Model Subclassing
Model subclassing is also supported in our framework. Please package your model code into a zip file and upload it.