thrml

Generate and simulate THRML code for JAX-based Ising and Boltzmann machines.

9|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/extropic-ai/thrml-skill --skill thrml
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: thrml
Source: https://github.com/extropic-ai/thrml-skill/tree/main
Command: npx skills add https://github.com/extropic-ai/thrml-skill --skill thrml

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jax, networkx, optax, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill streamlines the creation and simulation of THRML code, enabling users to efficiently build and manipulate JAX-based probabilistic models for complex sampling and training tasks.

Core Features & Use Cases

  • THRML Code Generation: Automatically generate THRML code for Ising machines and Boltzmann machines, tailored to specific sampling and training needs.
  • Simulation: Simulate models using block Gibbs sampling and training for probabilistic graphical models.
  • Use Case: Suppose you are developing a Boltzmann machine for image processing. Utilize this Skill to create the model architecture, specify the sampling schedule, and generate initial parameters for your model.

Quick Start

Run the 'thrml' skill with the command: /thrml create IsingMachine --nodes 100 --edges 200 --biases normal(0, 1) --weights normal(0, 1) --beta 1.0

Frequently Asked Questions about thrml

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate and simulate probabilistic graphical models using JAX?

To generate and simulate probabilistic graphical models using JAX, you can automate the creation of THRML code for Ising and Boltzmann machines with configurable nodes, weights, and biases. This enables efficient block Gibbs sampling and training.

What is block Gibbs sampling for Boltzmann machines and how is it configured?

Block Gibbs sampling for Boltzmann machines is a probabilistic simulation technique used to train models. You configure it by specifying node structures, edge counts, weight distributions like normal(0, 1), and a sampling schedule for your JAX environment.

Can I use JAX for automatic differentiation on large Ising machine graphs?

Yes, JAX supports automatic differentiation and vectorized operations on large graphs for Ising machines. The Skill requires JAX specifically to enable these efficient computations during model training and simulation.

How do I create an Ising machine model with custom weights and biases?

To create an Ising machine model with custom weights and biases, run a command specifying the node and edge counts, parameter distributions such as normal(0, 1) for biases and weights, and the beta value for your sampling schedule.

What libraries are required to train probabilistic models with this approach?

Training probabilistic models with this approach requires the JAX library for automatic differentiation, along with networkx for graph structures and optax for optimization, to support vectorized operations on complex graphs.

Does this approach support vectorized operations for large-scale probabilistic sampling?

Yes, this approach supports vectorized operations for large-scale probabilistic sampling. By leveraging JAX, it efficiently handles vectorized operations and automatic differentiation on large graphs during Ising and Boltzmann machine simulations.