のびっこ日記

(*|         |*)v ういっすー。 VRとかコンピュータービジョンとかARとかに興味があります。OpenCVとかPCLとかOculusRiftとかUnityとかKinectとかLeapMotionとか手を出していますが、いろいろドツボにハマっててくじけそう。誰か教えてー

TensorflowをMac book Pro 2014(NVIDIAモデル)にGPU有りでインストールする方法(・     ・)

なんか流行ってるらしいTensorflowを始めたいので、Mac book Pro 2014 (NVIDIAモデル)のOSXにTensorflowをGPU有りでインストールしてました。

今回はとりあえず自分用インストール手順メモな感じです(・    ・)

特に最後のシンボリックリンク張るとこはかなり苦労しました。。libcupti.dylibのリンク張らないと一部のサンプル動かなかったです。。

 

brew.shからHomebrewをインストール

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

これでbrewコマンドがインストールされる。

 

Coreutilsのインストール

$ brew install coreutils

でインストール

 

XCodeのインストール

Appstoreからxcodeをインストール。

xcodeを一度起動してライセンスに同意しておく。

 

CUDAインストール

$ brew tap caskroom/cask

$ brew cask install cuda

以下を~/.bash_profileに記述

export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$CUDA_HOME/lib"
export PATH="$CUDA_HOME/bin:$PATH"

 

CUDA Deep Neural Network (cuDNN v5.1) libraryのインストール

Developer.nvidia.comで

Accelerated Computing Developer Program accountを作って、以下をダウンロード 

cuDNN v5.1 for CUDA 8.0
cuDNN v5.1 Library for OSX

tar xvf cudnn-8.0-osx-x64-v5.1.tar
cd cuda

$ sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/

$ sudo mv lib/libcudnn* /Developer/NVIDIA/CUDA-8.0/lib
$ sudo ln -s /Developer/NVIDIA/CUDA-8.0/lib/libcudnn* /usr/local/cuda/lib/

 

pipのインストール

Sudo easy_install pip
Sudo easy_install --upgrade six

Sudo pip install tensorflow
Sudo pip install tensorflow-gpu

 

足りてないシンボリックリンクを作る

$ sudo ln -s /usr/local/cuda/lib/libcuda.dylib /usr/local/cuda/lib/libcuda.1.dylib

$ sudo ln -s /usr/local/cuda/lib/libcudnn.5.dylib /usr/local/cuda/lib/libcudnn.5

$ cd /usr/local/lib

$ sudo ln -s libcuda.dylib libcuda.1.dylib

$ sudo ln -s ../cuda/lib/libcudart.8.0.dylib .

$ sudo ln -s /usr/local/cuda/lib/* /usr/local/lib

$ sudo ln -s /Developer/NVIDIA/CUDA-8.0/extras/CUPTI/lib/libcupti.dylib /usr/local/lib/.

 

mnistサンプルを実行してみる

Git clone https://github.com/tensorflow/tensorflow.git

Cp -r tensorflow/tensorflow/examples .
Cd examples/tutorials/mnist/
Python mnist_with_summaries.py

 

こんな感じ。

なんかインストールで力尽きたよ。。(ー      ー)

 

 

Cドライブが一杯だけどDドライブがすかすか。そんな時は(・     ・)

今日は簡単なネタで(・    ・)

 

Windowsって、My Documentsとか一杯でもうCドライブがパンパン、とかそんな事有りますよね。んでもってドライブ増設してDドライブは空いてるんだけど・・とかとか。

 

こんな時にお勧めの設定が有ります。

以下のコマンドでCドライブのフォルダをDドライブの中に作ることができます。

 

まず管理者権限でコマンドラインプロンプトを起動して

(Windows10だと画面の左下で右クリック>コマンドプロンプト(管理者))

 

mklink /j Cドライブに作りたいフォルダ名 D:\Dドライブのフォルダ名

 

こんな感じにします。

例えばCドライブのMy Kindle Contentがデカくて困ったりしたときは、

まずフォルダごとDドライブに移動した後で、元々My Kindle Contentが存在したフォルダに移動した上で

C:\Users\nobikko\Documents>mklink /j "My Kindle Content" "E:\My Kindle Content"

こんな風にすると、Dドライブに移動できます。

 

良かったら試してみてね(*・       ・*)v

 

それではまたー

 

Unity5.3.2p3 Personal EditionでJapanese Otaku Cityのアセットを使ったときピンクになるのをなんとかする(・   ・)

Unityで秋葉原のビルとかが使ってみたくなったので、ZenrinのJapaneseOtakuCityアセットをダウンロードしてみました(*・         ・*)

Windows>Asset StoreでJapanese Otaku Cityで検索すると出てきます。

でもね。。

f:id:nobikko_nobinobi:20160220233824j:plain

 どピンク!(つ     ;)

調べてみたら、Shaderがいくつか壊れています。

Shadersフォルダの中にあるsu_Double_Clipと、su_VertexCol_1UV_Singleがエラーを起こしています。

どちらも80行目近辺に

void vert (inout appdata_full v, out Input o) {
float4 VertexOutputMaster0_0_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_1_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_2_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_3_NoInput = float4(0,0,0,0);


}

こんなのがあるのですが、これを、

void vert (inout appdata_full v, out Input o) {

UNITY_INITIALIZE_OUTPUT(Input,o);

float4 VertexOutputMaster0_0_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_1_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_2_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_3_NoInput = float4(0,0,0,0);


}

 

こうします。どうやらoが初期化されないまま授受されてるのが問題みたいです。

 

Query-ChanもShaderが壊れているので、同じく直します。

PQ_SkinとPQ_TransBlueです。

void vert (inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input, o);
float4 VertexOutputMaster0_0_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_1_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_2_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_3_NoInput = float4(0,0,0,0);


}

 

void vert (inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input, o);
float4 VertexOutputMaster0_0_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_1_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_2_NoInput = float4(0,0,0,0);
float4 VertexOutputMaster0_3_NoInput = float4(0,0,0,0);

o.simpleWorldRefl = -reflect( normalize(WorldSpaceViewDir(v.vertex)), normalize(mul((float3x3)_Object2World, SCALED_NORMAL)));

}

 

あとは、Skyboxのテクスチャが壊れているのですが、

こちらはSkyboxesの中のSkyboxをクリックすると、複数のFixNowボタンが有るのでこれをクリックしまくって下さい。

 

Skyboxは複数あるので、全部のFixNowボタンをぽちぽちすれば終わりです。

f:id:nobikko_nobinobi:20160220234040j:plain

f:id:nobikko_nobinobi:20160220234048j:plain

 

ちゃんと動いた(*・           ・*)

 

今日はこの辺で。