Houdini 20.5 Machine Learning

Example-based ML glossary

ML Attribute Generate

Generates a collection of unlabeled examples, each a packed primitive that stores a geometry. Each embedded geometry has specific attributes set to random values drawn from a probability distribution.

These unlabeled examples can the basis for generating a synthetic data set for training. For example, each unlabeled example can be provided as an input to a procedural network, yielding a target, using which a labeled example may be formed.

ML Example

Creates an example as packed primitive. An unlabeled example is created when the Target input is not used. In this case, the input geometry is stored directly inside the packed primitive. If the Target input is connected, then a labeled example is created. A labeled example consists of both an input component and a target component. Each of these are stored as a packed primitive inside the labeled-example packed primitive. For each labeled example, the target can be interpreted as the ground-truth output for the input. Multiple labeled examples can be combined and pre-processed form a data set.

ML Example Decompose

Decomposes a labeled example into its input component and its target component. This is useful for pre-processing the data set, visualizing, and troubleshooting.

ML Example Import:

Reads a raw data set from disk, resulting in a collection of examples (stored in packed primitives).

ROP ML Example Raw Output

Writes a data set, a collection of (possibly pre-processed) examples out to a raw file that is suitable for training with ML Regression Train TOP.

ML Example Partition

Partitions a collection of examples (labeled or unlabeled). For example, the output of ML Attribute Generate may be partitioned into batches. By picking an appropriate batch size, a good balance between speed and memory efficiency may be found for the data generation and pre-processing stages.

ML Extract Example

Helps to extract a single example from a geometry that represents a collection of examples. The collection of examples would consist of packed primitives. The examples may either be unlabeled examples that were generated by ML Attribute Generate or ML Pose Generate or they may be labeled examples created by ML Example.

ML Pose Generate:

An ML adapter node that allows the example-based ML toolset to be applied within a specialized domain (animation). It generates a set of random poses, each of which is an unlabeled example.

ML Pose Serialize:

An ML adapter node that allows the example-based ML toolset to be applied within a specialized domain (animation). It represents a single rig pose (or part of it) as a point float attribute. This node can should be used both during data generation and inferencing, so poses are serialized in the same manner in both these stages.

ML Regression Inference:

Allows an ML model trained using ML Regression Train TOP to be applied in a geometry network with any desired inputs.

ML Regression Proximity:

Returns the target component in a collection of labeled examples that corresponds to the input component closest in the data set for a query input. This is a type of ML that is not deep learning.

ML Regression Train TOP:

Creates and trains a model (feed-forward neural network) given a data set prepared by ROP ML Example Raw Output. The resulting model can be used by ML Regression Inference:. This is an example of deep learning.

Note

There are also some hidden core C++ nodes, but these are all used to implement the above assets.

Machine Learning

General Support

Example-based ML

Reference