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. C# OOP 重要部分全解

    如果你有耐心,那就请你慢慢的往下看,肯定有你用的到的地方,请你相信我! 现在你看到的只是其中一部分后面,还有,还没更新出来,待续.... 类对象的定义 类是现实世界或思维世界中的实体在计算机中的反映, ...

  2. a primary example for Functional programming in javascript

    background In pursuit of a real-world application, let’s say we need an e-commerce web applicationfo ...

  3. JS在火狐浏览器下如何关闭标签?

    首先,要确定火狐设置是否允许通过JS代码window.close()方法关闭标签. 确定方式如下: 在Firefox地址栏里输入 about:config 在配置列表中找到dom.allow_scri ...

  4. BZOJ 3339 && BZOJ 3585 莫队+权值分块

    显然若一个数大于n就不可能是答案. #include <iostream> #include <cstring> #include <cstdio> #includ ...

  5. KI的斐波那契_DFS

    Description KI十分喜欢美丽而优雅的斐波那契数列,最近他新认识了一种斐波那契字符串,定义如下 f (0) = b, f (1) = a, f (2) = f (1) + f (0) = a ...

  6. ThinkPHP 自动验证相关注意

    1.假如加入了表单令牌的话,表单的各种名与对应Model字段一致,不然报坑爹的令牌错误. 2.假如加入了表单令牌的话,Create只能采用默认的POST数据创建数据对象,不然又是坑爹的令牌错误. 3. ...

  7. 运算符 与 分支语句:if ,else if,else;switch case

    分支语句: if        else if       else      :    switch          case --如何使用 if  else if  else: Console. ...

  8. 加密web.config

    当我们要进行数据库的连接时,就会根据<%$ connectionsStrings:MyConnectionStringName %>这个表达式在Web.config文件中找到和MyConn ...

  9. Python 基礎 - 文件的操作

    在來我們來玩一下文件操作,這個在未來工作上,也是會很常用到的功能 Python2.7中,可以用file()來打開文件,而在Python3中,一律都是用open(),接下來在當前目錄下,先建立一個空文件 ...

  10. hibernate persist update 方法没有正常工作(不保存数据,不更新数据)

    工程结构 问题描述 在工程中通过spring aop的方式配置事务,使用hibernate做持久化.在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate u ...