Catalog PyPI
PACKAGE EXPLORERView in registry

acies

PyPI

Adaptive Perception Control — minimize vision compute cost while maintaining decision accuracy

adaptive-perceptionbayesiancomputer-visioncost-optimizationedge-aithompson-sampling
Versions collected1
Direct dependencies1From release 0.1.4
Last observed20 Oct, 18:14 UTC

README

Version 0.1.4 documentation
ACIES

ACIES

Adaptive Perception Control

A decision-theoretic framework for adaptively controlling visual perception to minimize computational cost while maintaining target decision risk.


License: MIT Python 3.10+ Go 1.22+ C++ Tests MNIST


Perception is not a fixed pipeline. It is a resource to control.


Why ACIES?

Every perception system wastes resources processing information that doesn't change the decision. ACIES solves this by treating perception as a cost-risk optimization problem.

Without ACIESWith ACIES
ResolutionFixed (max)Adaptive (optimal)
Cost385.893.6
Accuracy98.8%90.8%
Savings—76%

Trade 8% accuracy for 76% cost reduction. Or tune the threshold to find your own sweet spot.


Quick Start

Python (stdlib only, zero dependencies)

from acies import APCController, APCConfig, HardwareProfile

apc = APCController(APCConfig(
    confidence_threshold=0.92,
    hardware=HardwareProfile.jetson_orin(),
))

def clarity_fn(action):
    clarities = {
        "64p": 0.55, "128p": 0.65, "224p": 0.75,
        "320p": 0.82, "512p": 0.88, "1024p": 0.93,
        "crop_224": 0.85, "crop_320": 0.90, "crop_512": 0.92,
    }
    return clarities.get(action.name, 0.5)

result = apc.run(true_class=1, clarity_fn=clarity_fn)
print(f"Decision: {result.decision} | Cost: {result.total_cost:.1f} | Steps: {result.n_steps}")

Go CLI (32,800 runs/sec)

go build -o acies-cli .

./acies-cli run --hardware jetson --verbose
./acies-cli bench --iterations 5000 --hardware rpi

Docker

docker build -t acies .
docker run acies bench --iterations 1000

Installation

git clone https://github.com/NICE-DEV226/ACIES.git
cd ACIES
ComponentCommandNotes
Python(none)stdlib only, zero deps
C++ acceleratorcd cpp && makeOptional, 3-5x speedup
Go CLIgo build -o acies-cli .Single binary
Dockerdocker build -t acies .Multi-stage, all-in-one

Verify:

python3 test_apc.py          # 8/8 tests
./acies-cli version          # ACIES v0.1.0

Architecture

ACIES Architecture

Control loop: Sample → Score (ΔR/C) → Adjust → Filter → Execute → Observe → Update → Repeat


How It Works

StepComponentWhat it does
1Belief TrackingMaintains P(Y=1 | observations) via Bayesian filtering
2Clarity EstimationThompson Sampling learns P(correct | action) online
3Action ScoringComputes ΔR/C (risk reduction per cost) for each action
4ConvictionAnti-oscillation boosts high-clarity actions near threshold
5Safety FilteringRejects actions that could exceed risk threshold
6Change-Point DetectionResets posteriors on distribution shifts
7DecisionStops when confidence ≥ threshold or max steps reached

Benchmarks

MNIST (10,000 real images)

python3 examples/real_benchmark.py
MethodAccuracyCostSavings
Fixed 1024p98.8%385.8—
ACIES90.8%93.676%
Fixed 224p82.1%76.580%
Random95.5%149.661%

Go CLI Performance

./acies-cli bench --iterations 5000

32,800 runs/sec — 70× faster than Python (476 images/sec)

Hardware Profiles

ProfileAPC CostFixed 1024pSavings
Default260.9448.442%
Jetson Orin204.4347.141%
Raspberry Pi 5287.5525.245%
Desktop GPU290.6479.039%
Edge TPU53.492.042%

Testing

python3 test_apc.py
#TestDescriptionResult
1Base functionalityAccuracy, cost, exploration✓
2Hard tasksHigh difficulty scenarios✓
3Distribution shiftThompson adaptation✓
4Sensor failureDegraded reliability✓
5Hardware profilesAll 5 profiles✓
6Stress test5,000 iterations✓
7Belief mathBayesian verification✓
8Thompson convergencePosterior accuracy✓

Project Structure

ACIES/
├── acies/                  # Python package (8 modules)
│   ├── controller.py       # Main APC loop
│   ├── belief.py           # Bayesian belief tracker
│   ├── clarity_learner.py  # Thompson Sampling
│   ├── safety.py           # Risk guarantees
│   ├── conviction.py       # Anti-oscillation
│   ├── change_point.py     # BOCPD shift detection
│   ├── actions.py          # Action space & HW profiles
│   └── accelerator.py      # C++ ctypes wrapper
│
├── cpp/                    # C++ core library
│   ├── belief.h/.cpp       # Belief state
│   ├── clarity_learner.*   # Thompson Sampling
│   ├── acies.h/.cpp        # C API
│   └── Makefile
│
├── core.go                 # Go implementation
├── main.go                 # Go CLI (run/bench/config)
│
├── test_apc.py             # 8 robustness tests
├── examples/               # Benchmarks & demos
├── docs/                   # 9 documentation files
├── assets/                 # Logo & visual identity
├── Dockerfile              # Multi-stage build
└── README.md

Documentation

DocDescription
InstallationSetup guide for Python, Go, C++, Docker
ArchitectureDeep dive into control loop and algorithms
ConfigurationAll configuration parameters
CLI ReferenceGo CLI commands and flags
Python APIComplete Python API reference
C++ APIC API for FFI (Python/Go/Rust)
Examples10 usage examples
BenchmarksPerformance results on MNIST
ContributingDevelopment guide

Tech Stack

LayerTechPerformance
CLIGo32,800 runs/sec
CorePython (stdlib)476 images/sec
AcceleratorC++ via ctypes3-5× Python speed
Tests8 robustness testsall passing
Benchmark5 methods × 5 HW profiles+ MNIST 10k
DeployMulti-stage DockerfilePython + Go + C++

Contributing

See docs/contributing.md.

License

MIT License — see LICENSE.

Citation

@software{acies2026,
  title = {ACIES: Adaptive Perception Control},
  year = {2026},
  url = {https://github.com/NICE-DEV226/ACIES}
}

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.44 Sept 20261

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
nice-dev226/acies

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:14 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:5e49e77a9796e2083d5251688406744b1db6182412137c959eb181c3a053f8fc