On this page

Houdini has a family of Building Blocks that support a wide variety of ML setups. These can create new ML training and inferencing setups.

This page explains how the Building Blocks and supporting, general-purpose Houdini nodes fit into the various stages of a machine learning pipeline. These include all the stages identified in Stages.

Synthetic data generation

ML Attribute Generate SOP

Allows you to generate a set of random inputs, which can be turned into a set of labeled examples using a procedural network and the node ML Example. These labeled examples can then be written to disk using ML Example Output, trained on using ML Train Regression, resulting in an ML model that approximates the procedural network. This model can be applied using ML Regression Inference.

ML Pose Generate

Specific to character animation. This utility allows you to generate a set of random poses. Each pose is a copy of the input which a specified group of joints has a randomized transform. The random poses are stored inside packed primitives.

for begin/end constructs in SOPs

ML Example SOP

ML Attribute Generate allows you to generate a set of random inputs, which can be turned into a set of labeled examples using a procedural network and the node ML Example.

These labeled examples can then be written to disk using ML Example Output, trained on using ML Train Regression, resulting in an ML model that approximates the procedural network. This model can be applied using ML Regression Inference.

Data set preprocessing

ML Example SOP

ML Example Decompose SOP

ML Example Decompose does the opposite of ML Example SOP. It takes an example and decomposes it into its input component and its optional target component. ML Example Decompose is useful for doing pre-processing passes on sets of examples. It also provides a way to inspect the input and target components of examples for troubleshooting and visualization purposes.

ML Example Partition SOP

Utility node that partitions a set of examples such as ML Example SOP. This set of examples may consist of unlabeled examples, for example, generated by ML Attribute Generate and ML Pose Generate, but it could also be a set of labeled examples created using ML Example.

ML Extract Example SOP

Utility node that allows you to extract a single example.

ML Pose Serialize

Specific to character animation. Extracts the transforms from a specified subset of joints and represents them collectively as a float point attribute. A joint group can be specified. Only joints from the joint group will have components of their transforms serialized.

ML Pose Deserialize

Specific to character animation. Reconverts the transforms from a specified subset of joints from a float point attribute.

Raw data set I/O

ROP ML Example Raw Output SOP

Writes a set of labeled examples to a file to directly use with ML Train Regression TOP. ML Example Raw expects an input geometry consisting exclusively of packed primitives, each of which represents a single labeled example.

ML Example Import SOP

Read backs a set of labeled examples that were previously written out using ML Example Output SOP.

Model training

ML Train Regression TOP

Trains a model given a set of data set consisting of labeled examples.

ML Regression Kernel SOP

This node computes a kernel model. This model consists of a weighted average of kernel functions centred at input components of labeled examples.

ML Regression Kernel TOP

This is a generic ML training node that can solve a specific class of regression problems. In contrast to ML Train Regression TOP, this node doesn’t train a fully general neural network and saves out the model as an ONNX.

ML Train Deformer (Recipe)

Specific to character animation. The ML Train Deformer recipe creates a setup with two entities for which ML Deformer models can be trained.

Wedge

General-purpose TOP node that allow you to train models for multiple choices of hyperparameters. After that, the best model can be selected from all candidates that were trained.

Model evaluation

for begin/end constructs in SOPs

Inference

ML Regression Inference

Run a model that was trained using ML Train Regression or ML Regression Kernel

ML Regression Proximity SOP

Looks through a set of labeled examples to find an input that is closest to a query input. It then returns the target corresponding to that closest input. This provides an alternative to inferencing a trained neural network.

ML Regression Linear SOP

Trains a linear model that minimizes the sum of squared distances between the prediction and the target at each of the provided examples, with an added quadratic regularization term.

ML Regression Kernel SOP

This node computes a kernel model. This model consists of a weighted average of kernel functions centred at input components of labeled examples.

ML Deform SOP

Specific to character animation. Uses a trained ML model to deform the skin of a character. It uses the same inputs as Bone Deform SOP with a fourth input for residual blend shapes. Each residual blend shape defines a displacement point in the skin mesh. Internally, the ML model predicts weights to combine the residual blend shapes to apply a correction to the rest skin.

APEX Add ML Deformer SOP

Specific to character animation. Allows a model trained using the ML Train Deformer recipe to be used in APEX rig.

Agent Add ML Deformer SOP

Specific to character animation. Adds shapes to an agent and configures them to use a trained ML model which deforms the skin of a character. Internally, the ML model predicts weights to combine the residual blend shapes to apply a correction to the rest skin geometry.

ML Building Blocks