最近一个多月开始学习围棋,因为平时常用的系统是Linux,所以想要在Linux上安装一个围棋AI,可以借助AI分析棋局。经过一番查找,决定使用q5go和,安装还是挺复杂的,特地记录(/摸鱼)一下。
前往我的个人博客,体验更佳哦!
前言
目前大部分的围棋AI软件都是由两部分组成,一部分是围棋GUI,即围棋的图形程序;另一部分是AI引擎()。系统有很多直接组合好的软件,开箱即用。不过Linux和Mac上很少,就只能自己找了。
q5go安装
q5go是一个开源的围棋GUI,使用qt5开发。大致功能如下:
安装很简单,就是常规的编译过程。先下载发布版的源码
unzip q5go-2.0.zip
cd q5Go-q5go-2.0
mkdir build
cd build
qmake ../src/q5go.pro PREFIX=/opt/q5go
make -j4
mkdir /opt/q5go
make install /opt/q5go
之后就可以在 /opt/q5go/bin 目录找到可执行文件q5go了
为了方便,也可以在/usr/share/ 添加.文件创建快捷方式。
安装
是一个很强的开源围棋AI 。仅仅实现了一个,并没有GUI界面,因此需要联合像q5go这样的GUI程序才能使用。
的安装比较麻烦,主要是因为的cuda环境不容易配置。
[声明]:由于不同Linux发行版的安装差异,下面安装过程中的命令很可能不好用,如果出现问题,请参考官方教程!!!
下载
首先下载cuda版本的 。
然后下载神经网络的文件,针对不同电脑的性能提供了三套不同的文件,分别是、、的网络。如果GPU性能比较差,就选择的网络,GPU性能很好的,可以选择的。
将的文件夹放到q5go的目录下,即/opt/q5go目录下,主要是为了方便管理,放在其他目录也可以。
目录结构如下,其中就是的目录。
$ tree -d /opt/q5go
/opt/q5go
├── bin
├── katago_cuda
│ └── gtp_logs
└── share
├── doc
│ └── q5go
│ └── html
│ └── screens
└── q5go
└── translations
然后将下载的神经网络参数文件,就是那个*.bin.gz的文件放到的目录下,目录结构如下,其中.bin.gz就是神经网络参数文件。
$ tree /opt/q5go/katago_cuda
/opt/q5go/katago_cuda
├── 20block.bin.gz
├── analysis_example.cfg
├── cacert.pem
├── contribute_example.cfg
├── default_gtp.cfg
├── gtp_logs
│ └── 20210402-192452-A95FDD19.log
├── katago
├── match_example.cfg
└── README.txt
至此,就下载好了,只要配置好环境就可以run了。
环境配置
因为需要使用GPU,所以要配置GPU环境。详细的安装可以参考的官方教程,如果不想看如此长的英文安装教程,可以看下面的,哈哈哈(-)。下面的安装教程是基于.04的,如果是其他的Linux发行版,还是看官方教程吧。
安装显卡驱动
显卡驱动很多电脑应该是有的,这里就不赘述了。
输入下面的命令,如果可以得到类似的输出(本人电脑的GPU比较垃圾,见笑了),则说明显卡驱动已经装好了。没有的话,请参考。
$ nvidia-smi
Fri Apr 2 20:53:54 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.39 Driver Version: 460.39 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce 920MX Off | 00000000:01:00.0 Off | N/A |
| N/A 36C P0 N/A / N/A | 274MiB / 2004MiB | 9% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1891 G /usr/lib/xorg/Xorg 162MiB |
| 0 N/A N/A 2091 G /usr/bin/gnome-shell 27MiB |
| 0 N/A N/A 2583 G ...gAAAAAAAAA --shared-files 52MiB |
| 0 N/A N/A 25504 G ...AAAAAAAA== --shared-files 26MiB |
+-----------------------------------------------------------------------------+
安装cuda
cuda是的并行计算平台。通过利用图形处理单元(GPU),可以提高计算机的计算性能。
cuda官网安装教程,又是一个贼长的英文文档。。。
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.0-455.23.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mkdir /etc/preferences.d
sudo mv cuda-ubuntu1804.pin /etc/preferences.d/cuda-repository-pin-600
sudo apt-get update
sudo apt-get install cuda
一般cuda的安装目录在/usr/local/cuda/,安装完可以检测一下是否成功
添加环境变量
将下面的语句添加到.中
export PATH=/usr/local/cuda/bin:${PATH}
更新环境变量
source ~/.bashrc
安装cudnn
cuDNN( CUDA Deep )是为了实现GPU加速的深度神经网络原语库。
cudnn的安装过程不同的Linux发行版都不同,下面仅给出了.04的安装过程,其他发行版见
这四条命令可以省略,因为之前在安装cuda的时候已经执行过了,可以直接跳过。
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mkdir /etc/preferences.d
sudo mv cuda-ubuntu1804.pin /etc/preferences.d/cuda-repository-pin-600
需要执行的是下面的命令:
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get install libcudnn8
sudo apt-get install libcudnn8-dev
大功告成,可以开心的打开了,哈哈哈!!!
测试
如何使用,可以参考
cd /opt/q5go/katago_cuda
./katago benchmark -model 20block.bin.gz
如何你运行成功了,恭喜,请快进到。
如果失败了,同样恭喜,请继续享受安装的快乐。
如果失败的信息是类似于./: error while : .so.5: open file: No such file or 这样的,可以尝试安装,如果已将安装,你遇到的应该是这个issue。
该问题就是发布版的在编译时使用的动态链接库和你本地的不同,无法使用。解决方法请跳转到
如果是其他失败信息,我也没遇到过,就请参考 issue的方法了
源码安装
to 源码安装~~~
老规矩,官方教程
编译环境准备,安装camke、-dev
sudo apt install cmake
sudo apt install libzip-dev
编译
git clone https://github.com/lightvector/KataGo.git
cd KataGo/cpp
cmake . -DUSE_BACKEND=CUDA
make -j4
如果遇到下面的问题,则需要使用最新的CMake
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_device_LIBRARY (ADVANCED)
linked by target "katago" in directory /content/drive/My Drive/KataGo/cpp
安装最新的Cmake并编译
wget https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2-Linux-x86_64.tar.gz
tar zxvf cmake-3.16.2-Linux-x86_64.tar.gz
sudo mv cmake-3.16.2-Linux-x86_64 /opt/cmake-3.16.2
/opt/cmake-3.16.2/bin/cmake . -DUSE_BACKEND=CUDA
make -j4
make成功之后,把生成的可执行文件拷贝到之前下载的文件夹替换掉旧的就可以了。
mv /opt/q5go/katago_cuda/katago /opt/q5go/katago_cuda/katago_old
mv ./katago /opt/q5go/katago_cuda
cd /opt/q5go/katago_cuda
./katago benchmark -model 20block.bin.gz
现在应该可以完美运行了,接下来就是使用 q5go调用了。
q5go调用 修改文件
在执行了./ 命令后,程序会测试你的电脑,为你推荐合适的线程参数。在得到该参数后需要修改.cfg文件。
在.cfg文件中找到下面的一行配置并修改。
numSearchThreads = 6 # 修改为推荐的线程参数
配置q5go
启动q5go程序,进入-> Go->New,进行如下配置
之后就可以使用了。
打开一个对局,调整贴目 Edit->Game 。
打开,就可以看到AI的推荐选点和胜率等信息了。