--out
🦉 AthenaAI is an AI-powered ensemble machine-learning trading bot for PocketOption, built on BinaryOptionsToolsV2 → Get it on GitLab
💬 Need help? Join the Chipa Discord · ⚡ Go no-code with ChipaEditor
Path where the trained brain (pickled ensemble state) is saved. This is the file the live bot loads.
| Type | string (file path) |
| Default | athena_brain.pkl |
| Maps to | TrainerConfig.brain_path |
| Read in | train.py → src/training/trainer.py (Trainer.run(), step 8) |
What it does
At the end of a successful run, Trainer.run() creates the output’s parent directory if needed (os.makedirs(out_dir, exist_ok=True)) and calls self.ensemble.save_brain(cfg.brain_path), pickling the entire EnsemblePredictor — online models, batch GBM/RF, scaler, and (unless --no-nn) the TorchMLPClassifier with its weights stored as a CPU state dict. On success it logs:
✅ Training complete — brain saved to athena_brain.pkl
The default athena_brain.pkl deliberately matches the bot’s PO_BRAIN_PATH default (noted in TrainerConfig), so python train.py followed by python main.py works with no extra configuration.
The brain is portable: because the neural weights are pickled as CPU tensors, a brain trained on a GPU machine loads and predicts on a CPU-only machine; if PyTorch is missing at load time the MLP degrades to a neutral 0.5 vote (src/training/torch_model.py).
Choosing a value
- Keep the default unless you train multiple brains (per asset or per expiry); then use descriptive names like
brains/gbpusd_e120.pkl. - Whatever you choose must match the bot’s
PO_BRAIN_PATH, otherwise the bot won’t load it. - Nonexistent parent directories are created automatically; an existing file is overwritten without prompting.
Examples
python train.py --data GBPUSD_M1.csv --out brains/gbpusd.pkl
export PO_BRAIN_PATH=brains/gbpusd.pkl
python main.pypython train.py --data GBPUSD_M1.csv --out brains\gbpusd.pkl
$env:PO_BRAIN_PATH = "brains/gbpusd.pkl"
python main.pyInteractions
PO_BRAIN_PATH— the bot-side path; must point at this file.PO_RETRAIN— controls whether the bot retrains/overwrites brain state on its own.
See also
💬 Unsure how this interacts with the rest of the configuration? Ask in the Chipa Discord — or prototype strategies no-code with ChipaEditor.