Skip to main content

Value network (wip)

Exploration into some new research surrounding value networks

Install

$ pip install value-network

Usage

First, organize your videos (trajectories). The videos should have a suffix .1 for success and .0 for failure.

.
├── data
│   ├── traj_0.1.mp4
│   ├── traj_1.0.mp4
│   └── traj_2.1.mp4
└── ...

1. Train

Train the SigLIP value network by passing the folder containing the videos. The tool will automatically handle the conversion.

$ value-network-cli train --trajectories-folder ./data --max-steps 1000 --model_output_path ./model.pt

You can also opt to use the HL-Gauss loss, which has been shown to be more scalable for value learning.

$ value-network-cli train --trajectories-folder ./data --loss-module hlgauss --hl-gauss-min -2 --hl-gauss-max 2 --hl-gauss-num-bins 100

2. Predict

Use the trained model to predict the value of any image

$ value-network-cli predict ./model.pt ./frame.png

If you trained with HL-Gauss or Beta-NLL, you must specify the loss module and any non-default parameters during prediction as well.

$ value-network-cli predict ./model.pt ./frame.png --loss-module hlgauss --hl-gauss-num-bins 100
$ value-network-cli predict ./model.pt ./frame.png --loss-module beta-nll --beta 0.5

3. Visualize

To visualize the predicted values over a video, you can use the visualize command. First, generate the .npy file using predict on a video, then run visualize.

$ value-network-cli predict ./model.pt ./video.mp4 --output-path ./values.npy
$ value-network-cli visualize ./video.mp4 ./values.npy

4. Python

Programmatic usage is also straightforward.

import torch
from value_network import SigLIPValueNetwork

# forward

model = SigLIPValueNetwork.init_and_load('./model.pt')

images = torch.randn(3, 3, 224, 224)
value = model(images)

assert value.shape == (3,)

5. Research

Researchers are invited to explore custom loss modules by using the register_loss_module helper.

from torch.nn import Module
import torch.nn.functional as F

from value_network import SigLIPValueNetwork, register_loss_module

class HuberLoss(Module):
    def __init__(self, dim):
        super().__init__()
        self.to_value = nn.Linear(dim, 1)

    def forward(self, x, target = None):
        value = self.to_value(x).squeeze(-1)
        if target is None: return value
        return F.huber_loss(value, target)

register_loss_module('huber', HuberLoss)

model = SigLIPValueNetwork(loss_module_name = 'huber', ...)

Citations

@inproceedings{Imani2018ImprovingRP,
    title   = {Improving Regression Performance with Distributional Losses},
    author  = {Ehsan Imani and Martha White},
    booktitle = {International Conference on Machine Learning},
    year    = {2018},
    url     = {https://api.semanticscholar.org/CorpusID:48365278}
}
@article{Farebrother2024StopRT,
    title   = {Stop Regressing: Training Value Functions via Classification for Scalable Deep RL},
    author  = {Jesse Farebrother and Jordi Orbay and Quan Ho Vuong and Adrien Ali Taiga and Yevgen Chebotar and Ted Xiao and Alex Irpan and Sergey Levine and Pablo Samuel Castro and Aleksandra Faust and Aviral Kumar and Rishabh Agarwal},
    journal = {ArXiv},
    year   = {2024},
    volume = {abs/2403.03950},
    url    = {https://api.semanticscholar.org/CorpusID:268253088}
}
@misc{lee2025banelexplorationposteriorsgenerative,
    title    = {BaNEL: Exploration Posteriors for Generative Modeling Using Only Negative Rewards}, 
    author   = {Sangyun Lee and Brandon Amos and Giulia Fanti},
    year     = {2025},
    eprint   = {2510.09596},
    archivePrefix = {arXiv},
    primaryClass = {cs.LG},
    url      = {https://arxiv.org/abs/2510.09596}, 
}
@misc{ma2024visionlanguagemodelsincontext,
    title   = {Vision Language Models are In-Context Value Learners}, 
    author  = {Yecheng Jason Ma and Joey Hejna and Ayzaan Wahid and Chuyuan Fu and Dhruv Shah and Jacky Liang and Zhuo Xu and Sean Kirmani and Peng Xu and Danny Driess and Ted Xiao and Jonathan Tompson and Osbert Bastani and Dinesh Jayaraman and Wenhao Yu and Tingnan Zhang and Dorsa Sadigh and Fei Xia},
    year    = {2024},
    eprint  = {2411.04549},
    archivePrefix = {arXiv},
    primaryClass = {cs.RO},
    url     = {https://arxiv.org/abs/2411.04549}, 
}
@misc{yang2026riseselfimprovingrobotpolicy,
    title   = {RISE: Self-Improving Robot Policy with Compositional World Model}, 
    author  = {Jiazhi Yang and Kunyang Lin and Jinwei Li and Wencong Zhang and Tianwei Lin and Longyan Wu and Zhizhong Su and Hao Zhao and Ya-Qin Zhang and Li Chen and Ping Luo and Xiangyu Yue and Hongyang Li},
    year    = {2026},
    eprint  = {2602.11075},
    archivePrefix = {arXiv},
    primaryClass = {cs.RO},
    url     = {https://arxiv.org/abs/2602.11075}, 
}
@misc{hafner2024masteringdiversedomainsworld,
    title   = {Mastering Diverse Domains through World Models}, 
    author  = {Danijar Hafner and Jurgis Pasukonis and Jimmy Ba and Timothy Lillicrap},
    year    = {2024},
    eprint  = {2301.04104},
    archivePrefix = {arXiv},
    primaryClass = {cs.AI},
    url     = {https://arxiv.org/abs/2301.04104}, 
}
@inproceedings{Seitzer2022Pitfalls,
    title   = {On the Pitfalls of Heteroscedastic Uncertainty Estimation with Probabilistic Neural Networks},
    author  = {Maximilian Seitzer and Abdul-Saboor Sheikh and Georg Martius},
    booktitle = {International Conference on Learning Representations},
    year    = {2022},
    url     = {https://openreview.net/forum?id=9O_xF9y7A-}
}

Metadata

Release files for value-network 0.0.43

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

Source distribution (sdist)

Source distribution for value-network 0.0.43
File Size Uploaded
value_network-0.0.43.tar.gz 115.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for value-network 0.0.43
File Interpreter ABI Platform
value_network-0.0.43-py3-none-any.whl Python 3 none any Details

Total release size: 234.4 kB

Release files / value_network-0.0.43.tar.gz

Download URL value_network-0.0.43.tar.gz
Size 115.5 kB
Tags Source
SHA-256 checksum
How to use checksums
605df1fd31e45414b20b91a4a1881a390eb164ee52f515b6cce5ec636ac5303f
BLAKE2b-256 checksum
How to use checksums
ca915e956cb155f4a8ad4303ea4a94082147eab09929cc8e1407fe94c00e266d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.17

Release files / value_network-0.0.43-py3-none-any.whl

Download URL value_network-0.0.43-py3-none-any.whl
Size 118.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b1e8ea96559c8eb722318f97a45ed8933053eb460604675c376962ae0ebb878
BLAKE2b-256 checksum
How to use checksums
6645a782908d60921e03aea23a44b80bdc9522e99f5f6dd1a29fb2ef1da57510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.17

Release history Release notifications | RSS feed

This release

0.0.43 This release

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.39

2 release files

0.0.38

2 release files

0.0.37

2 release files

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.2

2 release files

0.0.1

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