OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Models

Input Convex Neural Networks

Input Convex Neural Networks is a public Python research-code repository containing TensorFlow implementations and experiments for input convex neural networks (ICNNs), accompanying a research paper. Its examples cover synthetic and multi-label classification, image completion, and reinforcement learning; it also includes a bundle-entropy optimization utility.

Independent OpenViST project profile, based on linked sources.

Input Convex Neural Networks — OpenViST project profile in AI Models.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when you need research scripts and experiment examples for ICNNs, especially if your work involves classification, face completion or Gym-based reinforcement learning.

Who it is for

  • Researchers reproducing or adapting ICNN experiments.
  • Developers exploring convex neural-network methods across classification, image completion or reinforcement learning.

Documented uses

  • Reproduce synthetic classification experiments on non-convex decision boundaries.
  • Train and plot multi-label ICNN experiments using the included Bibsonomy loader.
  • Train and inspect Olivetti face-completion experiments.
  • Run reinforcement-learning experiments with ICNN, DDPG or NAF model choices.
Before you choose

Requirements & limits

The repository is public and its source code is licensed under Apache-2.0.

  • The general setup lists Python, NumPy and TensorFlow, with TensorFlow r10 cited; Gym and MuJoCo are additional dependencies for reinforcement-learning work.
  • The synthetic classification run script is described as running all experiments on four GPUs.
  • The README says multi-label experiments are slightly inconsistent with the paper.
  • The bundle-entropy utility is described as in progress, with numerical issues still being fixed.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Run a single ICNN reinforcement-learning experiment

Launch the README's documented InvertedPendulum experiment and identify its stated output files.

Before you start

  • Python, NumPy and TensorFlow; the setup notes cite TensorFlow r10.
  • OpenAI Gym and MuJoCo for reinforcement-learning experiments.
  • The repository's RL directory.

Steps

  1. From the RL directory, run the command below.

    Documented command
    python src/main.py --model ICNN --env InvertedPendulum-v1 --outdir output --total 100000 --train 100 --test 1 --tfseed 0 --npseed 0 --gymseed 0
  2. Use the README's parameter help command, the command below, to view available parameters.

    Documented command
    python main.py -h

Expected outcome

The README says TensorBoard summaries are on by default and include average Q value, loss and average reward for each training minibatch. Testing total rewards are logged to log.txt.

Guide limitations

  • Gym and MuJoCo are listed as requirements for the RL experiments.
  • The README describes settings for reproducing experiments separately but does not provide them in this single-experiment example.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
18 October 2026
Original website title
locuslab/icnn · Official homepage title · retained in its source language