--out

🦉 AthenaAI is an AI-powered ensemble machine-learning trading bot for PocketOption, built on BinaryOptionsToolsV2Get 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.

Typestring (file path)
Defaultathena_brain.pkl
Maps toTrainerConfig.brain_path
Read intrain.pysrc/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.py
python train.py --data GBPUSD_M1.csv --out brains\gbpusd.pkl
$env:PO_BRAIN_PATH = "brains/gbpusd.pkl"
python main.py

Interactions

  • 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.