Skip to main content

pytorch2ltspice

PyPI License Python

pytorch2ltspice converts PyTorch nn.Sequential models into LTspice-compatible subcircuits (.subckt). It is intended for workflows where a controller is trained in PyTorch and then embedded directly into LTspice simulations for power electronics, control, and reinforcement learning experiments.

By combining it with LTspicePowerSim, you can evaluate neural-network controllers inside converter, inverter, and motor-drive simulations.

overview

Features

  • Export PyTorch nn.Sequential models as LTspice .subckt netlists.
  • Support nn.Linear, nn.ReLU, nn.Sigmoid, nn.Tanh, nn.RNNCell, nn.GRUCell, and nn.LSTMCell.
  • Generate behavioral-source (B) based netlists for feed-forward layers.
  • Generate recurrent-cell implementations using LTspice .machine blocks with an auto-added CLK pin.
  • Support final-output postprocessing via output_activation and selective output exposure via output_mask.
  • Include helper utilities under pytorch2ltspice.utils for signal generation, model scaffolding, and sampling.
  • Provide end-to-end example projects for buck-converter control with imitation learning and PPO.

Installation

Install from PyPI:

pip install pytorch2ltspice

Install from source:

git clone https://github.com/kosokno/pytorch2ltspice.git
cd pytorch2ltspice
pip install -e .

Quick Start

Define a model in PyTorch:

import torch.nn as nn

model = nn.Sequential(
    nn.Linear(20, 32),
    nn.ReLU(),
    nn.Linear(32, 16),
    nn.ReLU(),
    nn.Linear(16, 1),
)
model.eval()

Export it as an LTspice subcircuit:

from pytorch2ltspice import export_model_to_ltspice

export_model_to_ltspice(
    model,
    filename="TEST_MODEL_SUBCKT.SP",
    subckt_name="TESTACTORSUBCKT",
    output_activation=["tanh"],
)

Include the generated file in LTspice:

  • Add .include TEST_MODEL_SUBCKT.SP to your schematic.
  • Drive the NNIN* pins from your circuit.
  • Read the inference result from NNOUT*.

Utilities

Helper utilities are available under pytorch2ltspice.utils:

  • siggen: generate LTspice signal-source schematics and symbols.
  • modelgen: generate a PyTorch module class from nn.Sequential.
  • sampling: sample signals on a clock for analysis and data preparation.

Examples

Example projects are available under examples/:

  • BUCK_VM_BI: behavior-imitation controller for a voltage-mode buck converter.
  • BUCK_VM_PPO: PPO-based controller for a voltage-mode buck converter.
  • BUCK_VM_GRU8x1: recurrent controller examples using GRUCell.

License

MIT

Metadata

Release files for pytorch2ltspice 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for pytorch2ltspice 0.1.4
File Interpreter ABI Platform
pytorch2ltspice-0.1.4-py3-none-any.whl Python 3 none any Details

Release files / pytorch2ltspice-0.1.4-py3-none-any.whl

Download URL pytorch2ltspice-0.1.4-py3-none-any.whl
Size 20.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79d35e7f6c87809fa28f6b4f15798b1de77faf139acc7772ac4b3fcf2b74e9bb
BLAKE2b-256 checksum
How to use checksums
5ec3915d554c5e16466f8e211f5b53b326f2b4b83703b4c936f50c2eb17ad9e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 release file

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page