diff --git a/README.md b/README.md index cc3cee7..53dc8b1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,79 @@ # Homework 5 -## Install Necessary Packages +## Run in host + +### Install Necessary Packages + +``` conda create -n hw5 python=3.11 -y conda activate hw5 -pip install -r requirements.txt \ No newline at end of file +pip install -r requirements.txt +``` + +### Training & Evaluation + +Training +``` +python pacman.py +``` + +Evaluation +``` +python pacman.py --eval --eval_model_path submissions/pacma_dqn.pt +``` + +## Run in Docker container + +### Install docker + +Follow [Docker docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) + +### Install NVIDIA Container Toolkit (if you haven't install) + +We should install NVIDIA Container Toolkit first, so that we can use GPU in Docker containers. + +The instructions below are followed [NVIDIA tutorial](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) + +1. Configure the repository + ``` + curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ + && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ + sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ + sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \ + && \ + sudo apt-get update + ``` +2. Install toolkit + ``` + sudo apt-get install -y nvidia-container-toolkit + ``` +3. configure (docker) + ``` + sudo nvidia-ctk runtime configure --runtime=docker + sudo systemctl restart docker + ``` +4. test (running a sample workload) + ``` + sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi + ``` + if this container run nvidia-smi successfully and you can see your NVIDIA graphic card's name, it means that docker can run containers with GPU drivers + +### Start Docker Container + +``` +docker run -it --runtime=nvidia --gpus all snsd0805/ntu-ai-hw5 +``` + +This docker image's build file is `Dockerfile` in this directory. + +### Training & Evaluation + +Training +``` +python pacman.py +``` + +Evaluation +``` +python pacman.py --eval --eval_model_path submissions/pacma_dqn.pt +```