用谷歌 colab免费的T4或者是P100跑KataGo

群里大牛搞的,边学边记录,慢慢完善。

第一步,翻墙。
能打开google,能打开我发的链接。
第二步,按照文档说明操作。

相当于免费提供一台10000多元的电脑给你跑katago

白嫖啦!赶快来吧!

群里大牛的github
https://github.com/kinfkong
https://github.com/kinfkong/KataGo

补充:
1、你需要一个google账户,用来登录colab
2、需要复制副本到自己账户下。

20201014更新地址:
https://colab.research.google.com/drive/1BT4GAlHC1p0gEtujp3EtAYgFSPIjLzxs?usp=sharing

如何运行?
1). 修改下面代码里的USER_NAME, USER_PASSWORD, 点击运行即可.
2). 点这里下载ikatago客户端 (1.3.1版本):
https://github.com/kinfkong/ikatago-client/releases/tag/1.3.1

ikatago连接参数样例:

ikatago.exe --platform colab --username kinfkong --password 12345678
username及password要改成你自己的值。

FAQ
1. 如何换frp (非必需,但换到合适的frp会更快)
1). 在第三方frp提供商,比如https://natfrp.com 中创建TCP隧道
2). 隧道设为本地ip 127.0.0.1, 本地端口: 2222
3). 找到frp提供商给你的配置文件,复制
4). 粘贴在下面代码的 ### YOUR FRPC CONTENT ### 与 ### END YOUR FRPC CONTENT ### 之间即可。

2. 如何用Sabaki, Lizzie等客户端连接colab上的katago?
Lizzie用法
<ikatago程序路径> --platform colab --username <你设置的用户名> --password <你设置的密码>
比如,Windows下可能是这样子:

C:\xxx\ikatago.exe --platform colab --username kinfkong --password ******
Sabaki的用法
有三行,
第一行: 引擎名字,随便起一个名字
第二行: 程序路径,就是ikatago在你本机的路径,比如, C:\xxx\ikatago.exe
第三行: 运行参数: --platform colab --username <你设置的用户名> --password <你设置的密码>

3. 如何用SSH连接?
建议使用ikatago客户端进行连接,不建议直接用ssh. 但用ssh也是可以的。
上面的代码运行后,输出里,你可以找到:
SSH_HOST ssh主机
SSH_PORT ssh端口
ssh用户名就是你设定的用户名
ssh密码就是你设定的密码
ssh运行命令是"run-katago"

4. 如何修改katago配置文件?
你可以通过ikatago客户端,通过--kata-local-config来指定你自己本机上的配置文件,比如:

ikatago.exe --kata-local-config C:\xxx.cfg --username xxx ...
5. 如何使用colab内置配置文件?
你可以通过ikatago客户端,通过--kata-config来指定aistudio上内置的配置文件,比如:

ikatago.exe --kata-config 3stones_handicap --username xxx ...
目前colab上内置了如下的配置文件: (感谢@LK @BionicMed 等群友的整理)

default_gtp  10spermove  2stones_handicap  3stones_handicap  4stones_handicap  5stones_handicap  6stones_handicap  7+stones_handicap  
**注:请自行注要区别--kata-config与--kata-local-config的联系与区别。如果两个同时指定,优先用kata-local-config

6. 如何运行katago benchmark, genconfig等命令 (高级用法,一般人可以忽略)
ikatago客户端(要升级到1.3.1或以上),支持所有katago的子命令,把整条原来katago的命令copy到最后,然后用"--"隔开就行 比如,运行benchmark:

ikatago.exe --kata-local-config C:\xxx.cfg --kata-weight 20b -- benchmark
再比如gtp

ikatago.exe --kata-local-config C:\xxx.cfg --kata-weight 20b -- gtp -override-config maxVisits=1000
**注: 原来的子命令里如果有"-model"或"-config"参数的,你也可以照常指定,不指定的话,就分别会用--kata-weight、--kata-config(或--kata-local-config)里的。

7. 为什么分析时选点最多就20个?
因为为了大量降低数据传输量,Lizzie等软件,默认也是只显示前10个,所以不影响体验。如果要增加显示选点的个数(或不限制),可以:
"--transmit-move-num 10" 这样子来修改. "--transmit-move-num 0"表示不限制.

【20200727】文档非常清楚,首先得能翻墙,能打开这个链接

https://colab.research.google.com/drive/19dVa5Pq1Iehf_iND4Je8FK8oCRFqQkh8?usp=sharing

作者:kinfkong
群里大牛的github
https://github.com/kinfkong
https://github.com/kinfkong/KataGo

相关下载:
链接: https://pan.baidu.com/s/1vflXM3ePKU17bJ9ZUtuA_w 提取码: yduk

打开之后,会看到下面的内容,照着操作即可。

【常见问题及bug】
1、每次启动需要连接一下google colab
2、可能还需要启动一下 https://du.nsloop.com/#

启动一下 https://du.nsloop.com/#

翻墙的方法有很多,我是用这个,可以参考。

【20200725搞定】

https://colab.research.google.com/drive/1NGGG4t59Atnq2c9uZPOgg28KsCOcQptA?usp=sharing


【之前的记录】

国内的朋友有能连上谷歌 colab的吗? 可以用免费的T4或者是P100跑KataGo

https://colab.research.google.com/drive/1vw8mzMs9aVwT025AV95FnIb8TgC3IMyH?usp=sharing

https://github.com/JBX2010/KataGo_Colab/tree/5f4516abf1d11ad3e1ae623a64967d89adb60508

新出了Colab Pro 只要$10美元每月 基本上就没有时间限制了 而且总可以分配到T4或者是P100

这个是T4的benchmark,文档很赞啊。基本就是直接用。

如果不跑ogs的bot, 直接ssh GTP, 可不可以?

看了一下,好像通过ngrok可以,我试试

我一般把gtp_example.cfg也放在cpp目录里 比较方便

# Install useful stuff
! apt install --yes ssh screen nano htop ranger git > /dev/null
# SSH setting
! echo "root:carbonara" | chpasswd
! echo "PasswordAuthentication yes" > /etc/ssh/sshd_config
! echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config
! echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
! service ssh restart > /dev/null
# Download ngrok
! wget -q -c -nc https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
! unzip -qq -n ngrok-stable-linux-amd64.zip
# Run ngrok
authtoken = "PUT_YOUR_NGROK_TOKEN_HERE"
get_ipython().system_raw('./ngrok authtoken $authtoken && ./ngrok tcp 22 &')
! sleep 3
# Get the address for SSH
import requests
from re import sub
r = requests.get('http://localhost:4040/api/tunnels')
str_ssh = r.json()['tunnels'][0]['public_url']
str_ssh = sub("tcp://", "", str_ssh)
str_ssh = sub(":", " -p ", str_ssh)
str_ssh = "ssh root@" + str_ssh
print(str_ssh)

做了一个中文版的 

https://colab.research.google.com/drive/1QoOakkD-5dHzxqGxcOUB8VAgRJ3cRzi0?usp=sharing

作者:

喜欢围棋和编程。

 
发布于 分类 围棋编程标签

发表评论

电子邮件地址不会被公开。