Welcome to PAMIQ-Core Documentation!¶
pamiq-core is a minimal machine learning framework for asynchronous execution of inference and training.
π― Design Philosophy¶
- Simplicity β Clean, intuitive APIs that just work
- Lightweight β Minimal dependencies, maximum performance
- Complete Thread Abstraction β Complex threading handled internally, simple interface externally
When you set out to build a dynamic continuous learning system, PAMIQ Core will be your steadfast foundation.
β¨ Features¶
- π Parallel Architecture: Simultaneous inference and training in separate threads
- β‘ Real-time Adaptation: Continuously update models during interaction
- π§΅ Thread-safe Design: Robust synchronization mechanisms for parameter sharing and data transfers
- π Modular Components: Easy-to-extend agent, environment, and model interfaces
- π οΈ Comprehensive Tools: Built-in state persistence, time control, and monitoring
- ποΈ Gymnasium Integration: Seamless compatibility with Gymnasium environments
- π Cross Platform: Linux is the primary focus, but Windows and macOS are also supported. (However, some older macOS and Windows systems may have significantly less accurate time control.)
Installation¶
# Basic installation
pip install pamiq-core
# With PyTorch support
pip install pamiq-core[torch]
# With Gymnasium support
pip install pamiq-core[gym]
Basic Example¶
from pamiq_core import launch, Interaction, LaunchConfig
from your_agent import YourAgent
from your_environment import YourEnvironment
# Create agent-environment interaction
interaction = Interaction(YourAgent(), YourEnvironment())
# Launch the system
launch(
interaction=interaction,
models=your_models,
buffers=your_data_buffers,
trainers=your_trainers,
config=LaunchConfig(
web_api_address=("localhost", 8391), # Or None to disable web API
max_uptime=300.0, # 5 minutes
),
)
See the samples on GitHub for complete examples.
Remote CLI Control¶
Once the system is running, you can connect and control it remotely via the terminal using pamiq-console
:
# Connect to local system
pamiq-console --host localhost --port 8391
# Connect to remote system
pamiq-console --host 192.168.1.100 --port 8391
Documentation¶
- User Guide: Describes information for working with PAMIQ-Core.
- API Reference
Contribution¶
See CONTRIBUTING.md on GitHub