Skip to main content

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.