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. 几个功能强大的系统源码(机票分销、机票预订、OA、手机充值、wifi营销、网络超市、体检平台)

    1.机票分销.机票预订系统源码 2.OA系统源码 3.手机在线充值系统源码 4.wifi营销系统源码 5.网络超市系统源码 6.在线体检平台系统源码 7.违章查询与缴费系统源码 需要的同学请联系QQ: ...

  2. servlet(1)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  3. C#窗体无法接受Keydown事件

    问题一描述:当新建一个窗体时,添加KeyDown事件后,会正常处理,但是当添加有控件时,比如Button,TextBox,不会触发窗体的KeyDown事件,也没有调用KeyDown事件的处理程序. 原 ...

  4. LeetCode 21 -- Merge Two Sorted Lists

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  5. 安装mongodb 远程服务器报错

    安装的时候百度了各种教程 就是装不上 结果原因看下图吧  后面这神秘代码是什么鬼 加上后就能正常下载了

  6. POI打印Excel报表

    1.将POI组件中的jar包放入项目中路径下的WEB-INF/lib目录中 2.在javabean中创建一个poi的java文件,中间出了创建getXXX(),setXXX()方法外,加入readRe ...

  7. HDU 5386 暴力

    题目 也是个坑题,可惜没有发现这是个水题,被矩阵的气势吓住了,其实后来做出来的人挺多,就应该想到没那么难了.(两个队友陷入DP无法自拔,没有想换题的打算). 题意:告诉初始矩阵,目的矩阵,告诉n个步骤 ...

  8. LayaAir引擎——(四)

    LayaAir引擎 TiledMap 使用 所需要的软件: Tiled地图编辑器 版本0.16.2 LayaAir IDE 所需要的图片:图块图片(1.png) 步骤1: 文件->新文件-> ...

  9. PC端和手机访问调用不同的页面,JS和PHP不同方法

    js方法: var urlqr = location.href;    urlqr = urlqr.replace(/iphoneF_/, "pc")这里写正则替换页面地址 if( ...

  10. 关于OpenGL的绘制上下文

    什么是绘制上下文(Rendering Context) 初学OpenGL,打开红宝书,会告诉你OpenGL是个状态机,OpenGL采用了客户端-服务器模式,那时觉得好抽象,直到后来了解了绘制上下文才把 ...