Launch¶
The launch
function is the entry point for starting a PAMIQ-Core system. It initializes all components, connects them together, and manages the system's lifecycle.
Breaking Changes in v0.5
The launch
function parameter data
has been renamed to buffers
for better clarity. If you're upgrading from v0.4, update your code:
Basic Usage¶
To launch a PAMIQ-Core system, you need to provide your interaction components, models, data buffers, trainers, and configuration settings:
from pamiq_core import launch, LaunchConfig, Interaction
# Create your agent and environment
agent = YourAgent()
environment = YourEnvironment()
# Create an interaction between them
interaction = Interaction(agent, environment)
# Launch the system
launch(
interaction=interaction,
models={"model_name": your_model},
buffers={"buffer_name": your_data_buffer},
trainers={"trainer_name": your_trainer},
config=LaunchConfig(
states_dir="./saved_states",
max_uptime=3600, # Run for 1 hour
time_scale=2.0 # Run at 2x speed
)
)
Common Configuration Scenarios¶
Accelerated Learning¶
To speed up time for faster training:
Disabling Web API¶
To run the system without remote control capabilities:
Resumable Training¶
To save system state for later resumption:
from pamiq_core.state_persistence import PeriodicSaveCondition, LatestStatesKeeper
# Initial run with automatic state management
launch(
interaction=interaction,
models=models,
buffers=buffers,
trainers=trainers,
config=LaunchConfig(
states_dir="./saved_states",
save_state_condition=PeriodicSaveCondition(600.0), # Save every 10 minutes
states_keeper=LatestStatesKeeper(
states_dir="./saved_states",
max_keep=5 # Keep only the 5 most recent states
)
)
)
# Later, resume from the last saved state
latest_state = list(Path("./saved_states").glob("*.state"))[-1]
launch(
interaction=interaction,
models=models,
buffers=buffers,
trainers=trainers,
config=LaunchConfig(
states_dir="./saved_states",
saved_state_path=latest_state
)
)
API Reference¶
More details, Checkout to the API Reference