KataGo/Linux
跳转到导航
跳转到搜索
KataGo/Linux說明怎麼在Linux系統上使用KataGo。
基本環境
這邊是用AWS上的Ubuntu 18.04,開g4dn.xlarge
測試的。
編譯
先安裝需要的套件:
sudo apt install -y build-essential cmake clinfo git libboost-filesystem-dev libgoogle-perftools-dev libzip-dev nvidia-compute-utils-435 nvidia-driver-435 nvidia-headless-435 nvidia-utils-435 ocl-icd-opencl-dev unzip wget zlib1g-dev
雲端上面可能已經有顯示卡的驅動了,這時候不要裝Nvidia驅動:
sudo apt install -y build-essential clinfo cmake git libboost-filesystem-dev libgoogle-perftools-dev libzip-dev ocl-icd-opencl-dev unzip zlib1g-dev
再來編譯:
cd ~; git clone https://github.com/lightvector/KataGo.git; cd ~/KataGo/cpp; cmake . -DUSE_BACKEND=OPENCL -DUSE_TCMALLOC=1; renice 20 $$; make -j16
然後把KataGo的執行檔丟到Lizzie目錄下:
cd ~/KataGo/cpp; cp katago ~/Lizzie
另外一種方式是編Eigen的版本:
cd ~; git clone https://github.com/lightvector/KataGo.git; cd ~/KataGo/cpp; cmake . -DUSE_BACKEND=EIGEN -DUSE_AVX2=1 -DUSE_TCMALLOC=1; renice 20 $$; make -j16
設定
等下會使用Lizzie當作前端,所以這邊會把KataGo的設定檔丟到Lizzie的目錄下:
cd ~/KataGo/cpp; cp configs/gtp_example.cfg ~/Lizzie/
下載最新的訓練資料
最新的訓練資料可以在KataGo Distributed Training取得[1]。
這邊會下載先前最強的20 blocks、30 blocks與40 blocks版本到Lizzie的目錄下並且解開:
cd ~/Lizzie/; wget https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170e-b20c256x2-s3761649408-d809581368.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b30c320x2-s2846858752-d829865719.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b40c256x2-s2990766336-d830712531.zip; echo *.zip | xargs -n1 unzip
測試
先測試Nvidia顯卡有沒有生效(要記得先重開機讓驅動程式生效):
nvidia-smi
接下來可以跑KataGo的測試:
cd ~/KataGo/; ./katago benchmark -model g170e-b20c256x2-s3761649408-d809581368/model.bin.gz -config gtp_example.cfg
跑完測試後可以依照建議修改gtp_example.cfg
裡的numSearchThreads
以加快速度。
快速安裝
sudo apt update; sudo apt install -y build-essential clinfo cmake default-jdk git icewm libboost-filesystem-dev libgoogle-perftools-dev libzip-dev nvidia-compute-utils-435 nvidia-driver-435 nvidia-headless-435 nvidia-utils-435 ocl-icd-opencl-dev tightvncserver unzip wget zlib1g-dev; cd /tmp; wget https://github.com/featurecat/lizzie/releases/download/0.7.2/Lizzie.0.7.2.Mac-Linux.zip; cd ~; unzip /tmp/Lizzie.0.7.2.Mac-Linux.zip; git clone https://github.com/lightvector/KataGo.git; cd KataGo/cpp; cmake . -DUSE_BACKEND=OPENCL -DUSE_TCMALLOC=1; make -j8; cp katago ~/Lizzie; cp configs/gtp_example.cfg ~/Lizzie; cd ~/Lizzie; wget https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170e-b20c256x2-s3761649408-d809581368.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b30c320x2-s2846858752-d829865719.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b40c256x2-s2990766336-d830712531.zip; echo *.zip | xargs -n1 unzip; sudo reboot
雲端上面不裝顯示卡的驅動:
sudo apt update; sudo apt install -y build-essential clinfo cmake default-jdk git icewm libboost-filesystem-dev libgoogle-perftools-dev libzip-dev ocl-icd-opencl-dev tightvncserver unzip wget zlib1g-dev; cd /tmp; wget https://github.com/featurecat/lizzie/releases/download/0.7.2/Lizzie.0.7.2.Mac-Linux.zip; cd ~; unzip /tmp/Lizzie.0.7.2.Mac-Linux.zip; git clone https://github.com/lightvector/KataGo.git; cd KataGo/cpp; cmake . -DUSE_BACKEND=OPENCL -DUSE_TCMALLOC=1; make -j8; cp katago ~/Lizzie; cp configs/gtp_example.cfg ~/Lizzie; cd ~/Lizzie; wget https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170e-b20c256x2-s3761649408-d809581368.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b30c320x2-s2846858752-d829865719.zip https://d3dndmfyhecmj0.cloudfront.net/g170/neuralnets/g170-b40c256x2-s2990766336-d830712531.zip; echo *.zip | xargs -n1 unzip; sudo reboot
重開機後連進去再跑:
cd ~/Lizzie; ./katago benchmark -model g170e-b20c256x2-s3761649408-d809581368/model.bin.gz -config gtp_example.cfg
執行
先把VNC跑起來:
tightvncserver -geometry 1680x1050 -depth 24
透過VNC連進去後,用終端機(Terminal,預設是xterm)後執行Lizzie:
cd ~/Lizzie; java -jar lizzie.jar
另外也可以考慮設定sun.java2d.opengl
讓畫面比較不卡:
cd ~/Lizzie; java -Dsun.java2d.opengl=true -jar lizzie.jar
相關連結
參考資料
- ↑ KataGo Distributed Training. [2020-01-24] (English).
外部連結
- 官方网站 (英文)