Installation Guide

Basic Installation

1. Clone the Repository

git clone https://github.com/yourusername/AZ-Go.git
cd AZ-Go

2. Create Conda Environment

We recommend using Conda for environment management, especially for distributed setups:

# Create a new conda environment with Python 3.8
conda create -n azgo python=3.8
conda activate azgo

3. Install Dependencies

pip install -r requirements.txt

Distributed Training Setup

For multi-node training:

  1. Configure SSH keys for passwordless authentication
  2. Create sensitive configuration file at configs/sensitive.yaml:

    ⚠️ Note: This file does not exist in the git repository for security reasons. You must create it manually:

    # configuration file for SSH over local network
       
    # configuration for main machine
    main_username: your_username         # username for login to main server
    main_server_address: hostname.edu    # location of main server
    main_directory: /home/user/AZ-Go     # project directory on main server
       
    # configuration for worker machine
    worker_username: worker_user         # username for login to worker server
    worker_server_address: worker.edu    # location of remote server
       
    # directories for scp
    distributed_models_directory: /home/user/dis/models     # directory on worker server to send models to
    distributed_examples_directory: /home/user/dis/examples # directory on main server to send examples to
    

Verify Installation

Run a quick self-play game:

python debug/debug_self_play.py

Troubleshooting

CUDA Issues

  • Ensure CUDA toolkit matches PyTorch version
  • Check GPU availability: python -c "import torch; print(torch.cuda.is_available())" (should print true)

SSH Connection Failed

  • Verify SSH keys: ssh-add -l
  • Test manual connection: ssh user@host (if successful, no password prompt will show)

Import Errors

  • Ensure project root is in PYTHONPATH
  • Activate conda environment: conda activate azgo
  • Reinstall dependencies: conda install --file requirements.txt

Next Steps