JavaScript
  • NatML for JavaScript
  • Preliminaries
    • Getting Started
  • Using Predictors
    • Core Concepts
    • Fetching Predictors
  • API Reference
    • IMLPredictor
    • IMLAsyncPredictor
    • MLModelData
    • MLModel
      • MLHubModel
      • MLEdgeModel
    • MLFeature
      • MLArrayFeature
      • MLAudioFeature
      • MLImageFeature
      • MLTextFeature
    • MLFeatureType
      • MLArrayType
      • MLAudioType
      • MLImageType
      • MLTextType
  • Insiders
    • Distributing Predictors
    • Changelog
    • GitHub
    • Discord
    • Blog
Powered by GitBook
On this page
  • Fetching Model Data
  • Creating a Model
  • Using Predictor Data
  • Classification Labels
  • Feature Normalization
  • Image Aspect Mode
  • Audio Format

Was this helpful?

  1. API Reference

MLModelData

class MLModelData

PreviousIMLAsyncPredictorNextMLModel

Last updated 3 years ago

Was this helpful?

The MLModelData class is a self-contained archive containing an along with supplemental data that is useful to make predictions with the model.

Fetching Model Data

/**
 * Fetch ML model data from NatML Hub.
 * @param tag Predictor tag.
 * @param accessKey Hub access key.
 * @returns ML model data.
 */
static fromHub (tag: string, accessKey?: string): Promise<MLModelData>;

NatML provides a model hosting, delivery, inference, and analytics service called . INCOMPLETE.

Creating a Model

/**
 * Deserialize the model data to create an ML model that can be used for prediction.
 * You MUST dispose the model once you are done with it.
 * @returns ML model.
 */
deserialize (): MLModel;

You must dispose the model when you are done with it. Failing to do so will result in severe resource leaks.

Using Predictor Data

Model data contains additional information needed to make a prediction with a model.

Classification Labels

/**
 * Predictor classification labels.
 * This is `undefined` if the predictor does not have use classification labels.
 */
labels: string[] | undefined;

For classification and detection models, this field contains the list of class labels associated with each class in the output distribution. If class labels don't apply to the model, it will return undefined.

Feature Normalization

/**
 * Expected feature normalization for predictions with this model.
 * This is `undefined` if the predictor does not use normalization.
 */
normalization: Normalization | undefined;
// Feature normalization constants.
interface Normalization {
    // Per-channel normalization means.
    mean: number[];
    // Per-channel normalization standard deviations.
    std: number[];
}

Image Aspect Mode

/**
 * Expected image aspect mode for predictions with this model.
 * This is `undefined` for predictors that do not work with images.
 */
aspectMode: AspectMode | undefined;

Vision models might require that input image features be scaled a certain way when they are resized to fit the model's input size. The aspectMode can be passed directly to an MLImageFeature.

Audio Format

/**
 * Expected audio format for predictions with this model.
 * This is `undefined` for predictors that do not work with audio.
 */
audioFormat: AudioFormat | undefined;

Audio and speech models often require or produce audio data with a specific sample rate and channel count. As such, MLModelData provides an AudioFormat object containing the audio format description:

// Audio format description for models that work on audio data.
interface AudioFormat {
    // Sample rate.
    sampleRate: number;
    // Channel count.
    channelCount: number;
}

An is created from model data. The model can then be used with a predictor to make predictions.

Vision models often require that images be to a specific mean and standard deviation. As such, MLModelData provides a Normalization object containing the per-channel normalization coefficients:

MLModel
NatML Hub
MLModel
normalized