0.darkforest说明

darkforest是facebook田渊栋博士开发的深度学习围棋程序,2016的uec cup得了第二名(http://jsb.cs.uec.ac.jp/~igo/eng/)

1.docker说明
docker成立于2013.3,到2015.4公司估值10亿美金,github star进入了前十。vmware和微软成立了专门的部门支持docker,国外FLAG,国内BAT等公司都已全线跟进。

到https://hub.docker.com/explore/搜索cuda,发现下载最多的是nvidia/cuda,以下以这个docker为基础。

《Docker基础与实战》这本书不错,棒子写的,通俗易懂。亚马逊上其它的docker书籍也很多。

2.host安装驱动
./NVIDIA-Linux-x86_64-375.26.run      这是nvidia于2016.12.14发布驱动

上面的图是我的gtx1060驱动查询信息,host只需要驱动,剩下的都在docker容器中。

如果nvidia-smi运行不正常,后面的再继续没有意义。

3.安装nvidia-docker
下载地址:https://github.com/NVIDIA/nvidia-docker
dpkg -i nvidia-docker_1.0.0.rc.3-1_amd64.deb
如果不用nvidia-docker而直接用docker,容器内的nvidia-smi无法运行

4.构建容器,或者在容器中手动运行linux命令

容器脚本已上传到:https://github.com/wjx0912/dockerfile,稍后会推送到hub.docker并create auto-build

这个脚本大部分是抄袭nvidia,只有最后几行是自己写的:)

FROM nvidia/cuda:8.0-devel
LABEL maintainer "yongjian <weiqi5@qq.com>" ADD apt/sources.list /etc/apt/sources.list RUN apt-get update
RUN apt-get install -y curl
RUN apt-get install -y git
RUN rm -rf /var/lib/apt/lists/* ENV CUDNN_VERSION 5
LABEL com.nvidia.cudnn.version="5" RUN CUDNN_DOWNLOAD_SUM=a87cb2df2e5e7cc0a05e266734e679ee1a2fadad6f06af82a76ed81a23b102c8 && \
curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz -O && \
echo "$CUDNN_DOWNLOAD_SUM cudnn-8.0-linux-x64-v5.1.tgz" | sha256sum -c --strict - && \
tar -xzf cudnn-8.0-linux-x64-v5.1.tgz -C /usr/local && \
rm cudnn-8.0-linux-x64-v5.1.tgz && \
ldconfig #ADD cudnn-8.0-linux-x64-v5.1.tgz /usr/local
#RUN ldconfig RUN git clone https://github.com/torch/distro.git ~/torch --recursive
RUN cd ~/torch && bash install-deps
RUN cd ~/torch && ./install.sh RUN luarocks install class
RUN luarocks install image
RUN luarocks install tds
RUN luarocks install cudnn RUN git clone https://github.com/facebookresearch/darkforestGo.git ~/darforest --recursive
RUN cd ~/darforest && sh ./compile.sh RUN echo "for test nvidia driver, please run command: nvidia-smi"
RUN echo "for test cuda/cudnn/torch, please run command: th -lcutorch -e 'cutorch.test()'"

docker build --tag cuda_torch:0.1 .

5.下载model到darkforest文件夹

在dropbox里面,已转到百度云盘:链接:http://pan.baidu.com/s/1jIbl3gy 密码:qftu

6.运行docker

nvidia-docker run -it -v /data:/data --name cuda_torch cuda_torch:0.1 /bin/bash

如果想再开一个终端:

nvidia-docker exec -it cuda_torch /bin/bash

7.docker中运行darkforest

server:

sh cnn_evaluator.sh 1 /data/local/go

client:

th cnnPlayerMCTSV2.lua --use_formal_params --num_gpu 1 --time_limit 10

然后

  • clear_board to clear the board
  • genmove b to genmove the black move.
  • play w Q4 to play a move at Q4 for specific color.
  • quit to quit.

8.最后截个图嘚瑟一下

 
===================================================
在hub.docker.com发布了一个image,拆箱即用,一键安装:
cuda, cudnn, torch, darkforest (版本都是2017.1最新),只需要一条指令:
docker pull wjx0912/cuda_torch
 
 
 

facebook darkforest围棋ai测试的更多相关文章

  1. 为何谷歌围棋AI AlphaGo可能会把李世石击溃

    /* 版权声明:可以随意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 谷歌DeepMind开发的人工智能围棋程序AlphaGo以5:0的压倒性优势击败了欧洲围棋冠军.专业二 ...

  2. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--第二篇

    概述此为人工智能 (AI) 测试第二篇 第一篇主要介绍了 人工智能测试.测试什么.测试数据等.第二篇主要介绍测试用例和测试报告.之后的文章可能具体介绍如何开展各项测试,以及具体项目举例如何测试.测试用 ...

  3. AI测试——旅程的终点

    在2019年6月,我产生了一个想法,即人工智能探索测试AIET(Artificial intelligence exploration test),大概用了一周时间来思考怎么把人工智能应用到测试领域, ...

  4. 【AI测试】人工智能 (AI) 测试--第二篇

    测试用例 人工智能 (AI) 测试 或者说是 算法测试,主要做的有三件事. 收集测试数据 思考需要什么样的测试数据,测试数据的标注 跑测试数据 编写测试脚本批量运行 查看数据结果 统计正确和错误的个数 ...

  5. [转]FaceBook ATC 弱网测试工具环境搭建

    工具简介 ATC是FaceBook开源的移动网络测试工具Augmented Traffic Control(ATC),能够方便的让我们模拟各种网络环境进行测试. ATC有两个最吸引人的特点: 在手机上 ...

  6. 【AI测试】也许这有你想知道的人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的. 大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等 ...

  7. 【AI测试】人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的.大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等等 ...

  8. facebook页面种简单测试js调用flash开放的js接口的方法

    无意间折腾出来的,此方法很triky,但是很简单有效. 背景说明: facebook种内嵌的iframe无法直接访问. 解决方法: chrome浏览器为例 1.右键查看iframe源代码,此时进入if ...

  9. 想做AI测试,需要学习哪些数学知识?

    摘自知乎的回答 作者:者也 以上是个人读研以来感受用得最多的数学基础课,挂一漏万,大侠请补充指正 高等数学是基础中的基础,研究生以上级别的一切理工科都需要这个打底,数据挖掘.人工智能.模式识别此类跟数 ...

随机推荐

  1. JQuery中$.ajax()方法参数都有哪些?

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  2. 使用Windows Form 制作一个简易资源管理器

    自制一个简易资源管理器----TreeView控件 第一步.新建project,进行基本设置:(Set as StartUp Project:View/Toolbox/TreeView) 第二步.开始 ...

  3. 优化mysql运行环境的方法

    Mysql优化已经讲过很多篇教程了,而且网上也很多相关内容,但是本文我们是讲Linux下Mysql运行环境如何进行优化,有些地方与以往有所不同,也具有参考价值.具体mysql教程 如下: 一.修改Li ...

  4. Amazon AWS 架设EC2服务器(datizi)fanqiang (更新手机VPN/L2TP设置)

    今天用AWS在东京架设了一台服务器用来个人fanqiang.为什么用AWS呢,阿里云学生价9.9可以搭在香港,但是我的学制今年2月份在学信网上就到期了,腾讯云holy shit,我司AZURE据说员工 ...

  5. 字符串数组转为PHP级数组

    先要把字符串处理一下,成为php定义数组的形式,再用eval执行: $str="Array([15] => Array([id] => 2304[fromtype] => ...

  6. 使用 itext、flying-saucer 实现html转PDF(转)

    转自 http://blog.csdn.net/mhouwei62/article/details/51394804 表示感谢 itext-2.1.7高于此版本已经更新为AGPL授权,不建议使用. 添 ...

  7. 《深入浅出Node.js》第6章 理解 Buffer

    @by Ruth92(转载请注明出处) 第6章 理解 Buffer ✁ 为什么需要 Buffer? 在 Node 中,应用需要处理网络协议.操作数据库.处理图片.接收上传文件等,在网络流和文件的操作中 ...

  8. Chp10 10.7

    <Java语言程序设计>P296 本章是关于对象的思考,主要是在研究面向对象的程序设计时类的设计,作业写得比较杂乱,构造方法时没有严格遵守类的流行设计风格,由于是作业,再加上比较简单,没有 ...

  9. IO消息机制

    同步阻塞 同步非阻塞 异步阻塞 异步非阻塞 同步是函数自身等待结果 异步可采用状态轮询/通知/回调 返回结果: 阻塞和非阻塞的关注点是在等待消息的时候 线程的状态 同步阻塞 线程挂起 逻辑上函数不马上 ...

  10. HDU 5446 中国剩余定理+lucas

    Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...