In this categoryLocal AI · 59
More guides
Local AIIntermediate

How to Run VisionHOPE Locally: PSRben's Self-Modifying Vision Backbone

VisionHOPE is a PyTorch vision backbone from PSRben that ships in Tiny, Small and Base sizes for image classification, object detection and semantic segmentation, released under the MIT license. Here is what its self-modifying architecture actually does, how the three sizes compare on ImageNet, COCO and ADE20K, and how to install and run it yourself.

7 minIntermediate

VisionHOPE is a PyTorch vision backbone released by researcher PSRben on September 29, 2026 under the MIT license. It comes in three sizes, Tiny, Small and Base, built around a self-referential nested learning mechanism where internal memory states update as the model processes an image. It handles ImageNet-1K classification, COCO object detection and instance segmentation, and ADE20K semantic segmentation, and installs from a single GitHub repository with pretrained weights hosted on Hugging Face.

Written by Priya Raghunathan, local-AI hardware reviewer. I cross-check benchmark tables and install commands against the project's own GitHub README before recommending a setup path, and I flag anything the README leaves out.

VisionHOPE entered the top 20 of Hugging Face's overall trending list. At time of writing it has 447 likes and 1,827 downloads on the PSRben/VisionHOPE model page, and its GitHub repository has passed 1,170 stars. The model page's most-liked linked Space is embedl/hfviewer, a general-purpose architecture explorer rather than a VisionHOPE-specific demo. For an actual in-browser look at the model itself, there is a smaller WebGPU demo Space, mrfakename/visionhope-webgpu, which runs classification and segmentation directly in the browser with no install.

Specs at a glance

FieldValue
AuthorPSRben
PipelineImage classification (also detection and segmentation via task heads)
SizesTiny (26.6M params), Small (52.9M params), Base (91.2M params)
FrameworkPyTorch, plus MMCV 2.1.0 for detection and segmentation
LicenseMIT
Release dateSeptember 29, 2026
PaperVisionHOPE: Visual Backbones as Self-Modifying Learning Systems (arXiv:2609.33325)

What makes it a "self-modifying" backbone

Most vision backbones run a fixed set of learned weights over an image and stop there. VisionHOPE's core operator, which the paper calls self-referential nested learning, keeps five coupled internal memories that store content, generate their own key and value representations, and adjust their own learning rate as the model works through an image, rather than relying on weights that are frozen at inference time. The authors describe the design as letting "what the model remembers and how it learns evolve together."

Two stability mechanisms, a soft injection cap and a spectral clamp, keep those evolving memories from drifting during a forward pass, and the model scans the image in four directions using row- and column-aligned chunks rather than a single left-to-right pass. The paper is a 2026 preprint from Siran Peng and ten co-authors, posted to arXiv as 2609.33325, and has not gone through peer review at time of writing.

Benchmarks: Tiny, Small and Base compared

All three sizes are trained and evaluated on three separate tasks, with accuracy generally climbing from Tiny to Base at the cost of more parameters and FLOPs.

ImageNet-1K classification (224x224)

ModelParamsFLOPsTop-1 accuracy
VisionHOPE-T26.6M4.9G84.1%
VisionHOPE-S52.9M9.8G85.2%
VisionHOPE-B91.2M17.3G85.6%

COCO detection and instance segmentation (Mask R-CNN)

BackboneScheduleFLOPsBox APMask AP
VisionHOPE-T1x266G47.9%43.1%
VisionHOPE-S1x365G49.5%44.2%
VisionHOPE-B1x516G50.5%45.0%
VisionHOPE-T3x266G49.4%44.1%
VisionHOPE-S3x365G50.5%45.0%
No 3x checkpoint for Base
The GitHub repo publishes a 3x-schedule Mask R-CNN checkpoint for VisionHOPE-T and VisionHOPE-S, but not for VisionHOPE-B. If you need the longer training schedule on the Base backbone, you would have to run it yourself with the published training script.

ADE20K semantic segmentation (UPerNet, single-scale)

BackboneParamsFLOPsmIoU
VisionHOPE-T55.4M942G49.4%
VisionHOPE-S81.8M1043G50.3%
VisionHOPE-B121.2M1200G51.8%

The parameter counts for the ADE20K rows are higher than the plain classification backbone because they include the UPerNet segmentation head, not just the VisionHOPE backbone itself.

Install it: Linux, an Nvidia GPU, and CUDA 12.1

VisionHOPE needs a Linux machine with an Nvidia GPU, the CUDA toolkit including nvcc and a C++ compiler, and Python 3.10 (3.11 also works for the classification task). Clone the repository, then install PyTorch pinned to CUDA 12.1 followed by the project's own requirements and the package itself:

bash - install VisionHOPE
$git clone https://github.com/PSRben/VisionHOPE.git
$cd VisionHOPE
Install PyTorch pinned to CUDA 12.1
$python -m pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu121
Install classification requirements, then the package itself
$python -m pip install -r requirements/classification.txt
$python -m pip install --no-deps -e .
$
Detection and segmentation need MMCV separately
The classification install above is the baseline path. Running the COCO or ADE20K task heads needs MMCV 2.1.0 set up in a separate environment, per the repository's task-specific instructions, rather than the single requirements file shown here.

Download a checkpoint and run inference

Pull a pretrained checkpoint from Hugging Face with the Hugging Face CLI, from the repository root:

bash - download the Small checkpoint
$python -m pip install --upgrade huggingface_hub
$hf download PSRben/VisionHOPE visionhope_small.pth --local-dir weights
$

Then load the checkpoint and run a forward pass with the project's create_model function:

classify.py
import torch
from visionhope.models import create_model

model = create_model(
    "visionhope_small", checkpoint_path="weights/visionhope_small.pth"
).cuda().eval()

with torch.inference_mode():
    logits = model(torch.randn(1, 3, 224, 224, device="cuda"))  # [1, 1000]

Swap "visionhope_small" for "visionhope_tiny" or "visionhope_base" and point checkpoint_path at the matching .pth file to run a different size. Replace the random tensor with a real preprocessed image before trusting the output.

Licensing: MIT, no restrictions

VisionHOPE ships under the MIT license, one of the most permissive licenses available. Commercial use, modification and redistribution are all allowed with no revenue cap and no separate enterprise agreement, unlike research backbones released under research-only or non-commercial terms.

FAQ

How many parameters does VisionHOPE have?

It depends on the size. VisionHOPE-Tiny has 26.6 million parameters, VisionHOPE-Small has 52.9 million, and VisionHOPE-Base has 91.2 million, measured on the ImageNet-1K classification task.

What is VisionHOPE's architecture based on?

Self-referential nested learning, a mechanism with five coupled internal memories that update their own content, keys and values as the model processes an image, rather than relying only on fixed, pretrained weights at inference time.

Does VisionHOPE need a GPU?

Yes. The GitHub repository's installation instructions call for a Linux machine with an Nvidia GPU and CUDA 12.1, including nvcc and a C++ compiler. There is no documented CPU-only install path.

Is VisionHOPE free for commercial use?

Yes. It is released under the MIT license, which permits commercial use, modification and redistribution without a revenue threshold or separate paid tier.

What tasks can VisionHOPE do beyond classification?

Object detection and instance segmentation on COCO using Mask R-CNN, and semantic segmentation on ADE20K using UPerNet. Both use the same VisionHOPE backbone with a different task-specific head on top.

Local models run better with more VRAM. CompareRTX GPUs on Amazonbefore you upgrade.(affiliate link. We may earn a commission at no extra cost. Disclosure)

Watch related tutorials

Free weekly email

Weekly local AI drops

New models, what runs on your hardware, and the guides to set them up. One email a week, unsubscribe any time.

Tags
#visionhope#run visionhope locally#psrben vision backbone#self-modifying learning vision model#mit license vision backbone#image classification backbone