Katago+Sabaki个人围棋AI工具安装配置.2022年3月26日

作为亲身经历第一届中日围棋擂台赛的菜鸟老棋迷和1995年拥有第一台自己电脑的IT从业人员,AlphaGo出现后经历了两年多的震惊、关注、学习、羡慕,直到出现了Leela和Katago等开源围棋AI,终于能亲身享受人工智能进步带给围棋的红利。

这两年虚拟货币等火爆导致显卡缺货、价格虚高,一直不甘心溢价搭建一台性能可用的围棋AI电脑。最近显卡降价,自己又有点时间,于是搭建了种草很久的围棋AI电脑(也不是只用于围棋AI,还能PS和剪视频)。

先介绍基本系统:

硬件:Intel Core i9-12900KF + 64GB + 512GB NvME + Nvidia 3080Ti显卡
操作系统:Microsoft Windows 11 Pro X64 简体中文版
针对Nvidia 3080Ti,需要安装配置 Nvidia 的机器学习环境:显卡驱动 + CUDA +cuDNN。具体安装配置步骤如下:

1、 去Nvidia官方网站下载最新的显卡驱动程序,如:512.15-desktop-win10-win11-64bit-international-nsd-dch-whql.exe,安装。

Nvidia官方下载显卡驱动程序页面

2、 去Nvidia官方网站下载CUDA安装程序:https://developer.nvidia.com/cuda-downloads

Nvidia官方下载CUDA页面

3、下载zlib组件:http://www.winimage.com/zLibDll/zlib123dllx64.zip。解压缩后按照自己的喜好存放好,在系统的PATH环境变量中加入“zlibwapi.dll”这个文件所在的路径信息。

4、去Nvidia官方网站下载cuDNN:https://developer.nvidia.com/cudnn,先注册才能下载,目前的版本是:cudnn-windows-x86_64-8.3.3.40_cuda11.5-archive.zip。

Nvidia官方下载cuDNN程序

解压缩后分别把“bin”、“include”、“lib”文件夹下的文件分别复制到CUDA的对应文件夹中。以我目前的机器环境为例,复制“…\bin\cudnn.dll”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin”文件夹,复制“…\ include \cudnn.h”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\ include” 文件夹,复制“…\lib\cudnn*.lib”到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib” 文件夹。

至此,Nvidia 的机器学习环境安装就绪。

个人围棋AI工具

下载Sabaki和Katago:

Katago训练形成的权重文件下载,标绿的是推荐

全部下载的文件(2022年3月26日)

全部下载的文件(2022年3月26日)

安装Sabaki。

解压缩Katago压缩包,运行命令行窗口,执行命令(注意在“katago.exe”所在的文件夹下):katago.exe genconfig -model kata1-b40c256-s10568986624-d2575992043.bin.gz -output sabaki.cfg

运行katago程序,生成本机的配置文件

生成本机配置文件的过程中要提问几个问题:

  • 问katago默认的围棋规则是什么,我们这里就选中国规则,输入:chinese,然后回车;
  • 问katago要不要对读秒之类的时间规则加个额外限制,我们这里选不用。输入:n,然后回车;
  • 问是否允许katago在对手读秒的时候思考,默认是否,我是直接回车;
  • 问katago要使用哪个计算核心,我只有一块显卡,选项是“0”,直接回车;
  • 问katago的内存上限设置为多少,我的内存是64GB,输入8,直接回车。然后就是AI引擎自己运行测试硬件的性能,自动选择参数生成配置文件后结束运行。

下面结合截图介绍Sabaki的配置:

运行Sabaki程序,文件—首选项—语言,选简体中文
界面—显示胜率图,显示变化树
引擎—显示引擎边栏
左下角“新增”,输入路径和配置文件
配置好引擎后,启动引擎并设为分析器
分析界面(设置好后,在野狐围棋上对6D遛狗测试,可以看到右上角的胜率变化)

两点说明:

1、 从搭建过程就可以看出来,机器学习平台不是大众化的东西,需要一定的专业知识和足够的耐心(别看就这个教程,自己实验摸索加踩坑,前前后后也花了10小时左右);

2、 因为平台涉及到硬件、操作系统、驱动程序、机器学习环境、独立组件、围棋图形化界面程序、AI引擎程序等,都有调整和升级的可能,特别是隔一段时间(比如一年半载),这部分调整和升级后的程序与没有变化的那部分程序就有可能不能完美配合工作。所以,且行且珍惜吧。

阿里云主机搭建WordPress博客系统.2021年12月3日

WordPress是最流行的内容管理系统之一,也是常用的博客(Blog)程序之一。Wordpress常用的软件环境之一就是LAMP(Linux + Apache + MySQL + PHP)。这里将自己在阿里云主机(选择Ubuntu 20.04镜像)上搭建LAMP环境运行WordPress的过程记录介绍一下,希望能给有需要的网友以助益。

一、准备 Ubuntu 20.04 系统环境

前置操作:购买阿里云主机;注册域名;备案域名(这个比较费时间,官方公告是21天,自己实际经历是不到一周)。

WordPress 程序安装前,需要准备安装了Ubuntu 20.04 TLS系统的VPS(云主机)。你可以选择自己喜欢的服务商购买,我是选择的阿里云主机(之所以选择云主机,首先是有固定互联网IP地址,还因为不用自己运维硬件,省心!)。购买VPS后,你可以获取到VPS的相关信息,包括互联网IP地址,root帐号密码等。阿里云主机需要通过阿里提供的网页版管理工具(云服务器管理控制台)对云服务器进行设置,初始化root密码,在安全组中配置规则,允许TCP的80端口(HTTP协议),确认TCP的22端口(SSH协议)被允许。完成后就可以用自己喜欢的终端工具对服务器进行远程控制了。

登录主机后,先来一个四连发:

  • sudo apt update
  • sudo apt upgrade
  • sudo apt dist-upgrade
  • sudo apt autoremove

注意:如果必要,登录VPS后创建一个具有sudo权限的帐号。

二、安装和配置Apache

Apache HTTP Server是一个开源的,非常流行的,使用非常广泛的网页服务器软件。在Ubuntu 20.04系统中我们可以通过以下命令安装Apache Server:

  • sudo apt install apache2

安装完成后,Apache默认自动启动,通过以下命令查看Apache的运行状态:

  • sudo systemctl status apache2

默认情况,Ubuntu 20.04中使用UFW管理防火墙。防火墙需要允许 HTTP(TCP的80端口)通讯,可以通过以下命令配置:

  • sudo ufw allow 80

阿里云主机Ubuntu 20.04镜像默认没有启用UFW,因为今后还需要通过阿里提供的管理工具对云主机进行管理,并且阿里也提供了网页版的安全组配置管理,所以我也没有打开UFW。但对大多数情况,还是建议启动防火墙增加服务器的系统安全性。

Apache安装完成后,可以通过http://ip访问网站,您将看到默认的Ubuntu Apache欢迎页面,如下图:

Ubuntu Apache欢迎页面

三、安装MySQL数据库

这一步我们来安装MySQL数据库,运行如下命令:

  • sudo apt install mysql-server

如果需要创建密码,根据提示输入密码即可。之后,安装过程中如需要则根据提示默认输入Y,按回车即可。安装完成后,MySQL数据库默认启动,可以通过如下命令查看其运行状态 。

  • sudo systemctl status mysql

安装完成后设置MySQL用户:

  • mysql
  • mysql> use mysql;
  • mysql> SELECT Host, User, plugin from user;

创建wpuser用户,用于Wordpress博客数据库:

  • mysql> CREATE USER ‘wpuser’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;

使用nano编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件,设置mysql监听的地址,把默认的bind-address = 127.0.0.1的127.0.0.1 改为0.0.0.0(bind-address = 0.0.0.0):

  • sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • sudo service mysql restart

重启MySQL后,添加wordpress数据库,并授权给用户wpuser:

  • mysql> create database wordpress DEFAULT CHARSET=utf8mb4;
  • mysql> grant all on wordpress.* to ‘wpuser’@’localhost’;
  • mysql> flush privileges;

四、安装PHP

要正常运行Wordpress我们需要安装PHP,安装命令如下:

  • sudo apt install php
  • sudo apt install libapache2-mod-php
  • sudo apt install php-mysql

其中软件包libapache2-mod-php和php-mysql用来实现Apache和MySQL的扩展支持。为了更好支持Wordpress运行,还需要安装以下扩展:

  • sudo apt install php-curl php-gd php-xml php-mbstring  php-xmlrpc php-zip php-soap php-intl

至此,PHP及可能用到的扩展安装完成。

五、安装Wordpress

安装Wordpress之前,还需要对Apache进行配置用于网站(假设你购买的域名是www.example.com)。首先,进入/etc/apache2/sites-available/目录,创建example.com.conf文件:

<VirtualHost *:80>

    ServerName example.com

    ServerAlias www.example.com

    ServerAdmin webmaster@example.com

    DocumentRoot /var/www/html/

    <Directory /var/www/html/>

        Options FollowSymLinks

        AllowOverride All

        Order allow,deny

        allow from all

    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log

    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

</VirtualHost>

内容编辑完成后,保存文件。

现在开始下载Wordpress软件包并部署它。先通过cd命令转入tmp目录:

  • cd /tmp

使用curl命令下载最新版本的Wordpress:

  • curl -O https://wordpress.org/latest.tar.gz

下载完成后,通过tar命令解压软件包:

  • sudo tar xzvf latest.tar.gz

解压后,通过cd命令进入Wordpress目录,使用mv命令重命名 wp-config-sample.php 文件为 wp-config.php:

  • cd /tmp/wordpress
  • sudo mv /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

使用cp命令将文件内容拷贝到/var/www/html目录中:

  • sudo cp -a /tmp/wordpress/. /var/www/html

为避免权限问题,我们可以使用chown命令将网站目录下全部文件的所有权更改为Apache用户(www-data):

  • sudo chown -R www-data: /var/www/html

现在编辑wp-config.php文件:

  • nano /var/www/html/wp-config.php

将DB_NAME,DB_USER,DB_PASSWORD字段后面的内容替换为在为WordPress创建MySQL数据库时设置的值:

  • define(‘DB_NAME’, ‘wordpress’);
  • define(‘DB_USER’, ‘wpuser’);
  • define(‘DB_PASSWORD’, ‘password’);

至此,配置完成。

在浏览器中输入http://www.example.com(你自己的域名),会看到配置界面,一步一步完成网页版配置向导就完成了Wordpress的安装。剩下的事情就是登录Wordpress的管理界面,安装你喜欢的主题,开始你的 WordPress 之旅吧。

Hello,World!

Kylin Chip

2021年12月3日,新冠疫情下一个普通的日子。对于这个博客网站来说,却是一个特殊的日子—诞生的日子。从起心动念建立博客网站,到购买云主机、购买域名、备案网站完成,前后也有一个多月。

这个网站将会围绕“个人技术学习笔记”这个主题发布内容, 技术学习 的内容以银河麒麟操作系统为中心,可能会涉及计算机硬件、操作系统、虚拟化、网络、安全等。内容的创作者(好像很高大上,但也可能只是内容的搬运工)将会有3-5人:Osbear,Stone&Cloud,Gary等。