結論
Mac上でCNTK改めCognitive Toolkitを使おうとコンパイルを試みたけれど、ネイティブでは無理だった。 無理じゃないかもしれないけれど、労力ががが 結局Dockerでやるのが楽ちん。
なぜ??
ここにも有るようにACMLがLinuxとWindowsにしか提供されていないからだと言う。 他のオープンソースのライブラリで代用しないか?という質問に対しても しかも当面はWindows とLinux以外はサポートしないとはっきりと書かれている。
ACMLとは?
AMD Core Math Libraryの事。 developer.amd.com
ただ、現在サイトを見てみると終了のお知らせがあり、これからはオープンソースでやっていくから gpuopen.comを見てねと オープンソースになったので、Mac用にビルドするとか出来るようになるでしょう
とりあえず、ACMLはここまでにしてMacでなんとかCNTK
もうMacでもなんでもない。Dockerで
DockerでCNTKを使う方法は公式のWikiにも書いてある。
CNTK Docker Containers · Microsoft/CNTK Wiki · GitHub
ここに書かれている通りに
cd ${REPO_ROOT}/CNTK/Tools/docker docker build -t cntk CNTK-CPUOnly-Image
こんな感じでbuildすればとりあえず、MacでもなんでもCognitive ToolKitは試せる ただ、buildにMacbook Air 2014 で大体8時間位かかるので、 ビルド中は美術館なんかに行くのが良いと思う。
ちなみに
$ docker search cntk NAME DESCRIPTION STARS OFFICIAL AUTOMATED torumakabe/cntk-cpu Image built by MS CNTK Dcokerfile (CPU) 1 microsoft/cntk CNTK 1 [OK] attz/cntk 0 xmedicus/cntk CNTK 0 smizy/cntk Based on torumakabe/cntk-cpu, MNIST data p... 0 xiw9/cntk Another CNTK docker image 0 qianjun22/cntk-gpu Docker Image built from the official MS CN... 0 alfpark/cntk Microsoft Cognitive Toolkit (CNTK) with 1-... 0 toyotaka/cntk 0 tottokug/cntk-cpuonly 0 incognition/cntk-devel 0 nefrock/docker-cntk-cpu 0 nefrock/docker-cntk-gpu 0 incognition/cntkcuda8 0 ericebert/cntk_gpu 0
と、野良のcntkのDocker Imageが出て来る。 その中に一つ異彩を放つ一行がこちら microsoft/cntk なんか公式っぽいTagが付いているImageがある、 しかしdocker hubに行ってみると、
https://hub.docker.com/r/microsoft/cntk/tags/
キチンと公式っぽいものが用意されていた。 RepoInfoのショボさはこの際は気にしない。
$ docker run -it --rm microsoft/cntk:1.7.2-cpu-only /bin/bash root@de3948185514:/cntk# cntk ------------------------------------------------------------------- Build info: Built time: Oct 1 2016 21:16:06 Last modified date: Sat Oct 1 21:14:58 2016 Build type: release Build target: CPU-only With 1bit-SGD: no Math lib: mkl Build Branch: HEAD Build SHA1: d1ad5fcc9b71c9b6122623a2a0c3d126a64cbe94 Built by philly on 9b019bb2e014 Build Path: /home/philly/jenkins/workspace/CNTK-Build-Linux ------------------------------------------------------------------- No command-line argument given. ------------------------------------------------------------------- Usage: cntk configFile=yourConfigFile For detailed information please consult the CNTK book "An Introduction to Computational Networks and the Computational Network Toolkit" -------------------------------------------------------------------
とりあえず、これでよいか。
Mac上でcntkを試す程度であれば、これが1番楽ちんそうだなと思いました。