On this page

Houdini has a family of Basic Utilities that support a wide variety of ML setups. These can create new ML setups from scratch but can also help integrate third party models, training scripts, and data sets into Houdini. Most of these nodes don’t have ML in their names. These nodes are not limited to ML; they have valid uses cases outside of ML as well.

This page explains how the Basic Utilities 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

Attribute Randomize

General-purpose node that can be used inside a SOP for-loop to generate random samples, where the random samples are stored as attributes.

For begin/end constructs in SOPs

Data set preprocessing

Principal Component Analysis SOP

Reduces high dimensional data into the most important components. It does this by finding features that reflect the most variation in the data.

Linear Solver SOP

General purpose node that performs common numerical linear algebra operations, including linear system solve, least squares solve, and matrix decompositions, using real matrix and vector stored as geometry attributes, and outputs the result as a geometry attribute. This node supports both dense and sparse matrix inputs encoded in several ways.

Raw data set I/O

ROP Geometry Raw Output

Usually geometry data requires a specific format to fully represent the nature of the geometry. The Geometry ROP interfaces with many plugins and native formats to provide support for a lot of ways to save geometry. However, some systems just expect raw data.

Raw Import SOP

Loads binary files and creates detail attributes, points, or volumes to represent the data within. This requires a precise specification of the file layout, including the bit-depth and endianness of the data.

Model training

Python Virtual Environment

Can be used to set up a python virtual environment in which training takes place

Python Script

This allow you to run your a python training script that uses pytorch, exporting your model to ONNX.

Wedge

General-purpose TOP node that allows 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

ONNX Inference SOP

Uses a pre-trained model on the input volumes and point data to generate the machine-learned solution.

Many systems can be used for training and they often require significant dependencies. The resulting model may consist of only a few simple operations. The ONNX format is a file format and inference engine that allows you to use models trained in PyTorch or TensorFlow in a common framework.

Basic Utilities

Reference