コンテンツにスキップするには Enter キーを押してください

openFrameworks で Tensorflowを動かすまで。

Tensorflow を Mac にインストールする。

Tensorflowの公式に従うだけですが。
pythonはpyenvで3.5.2を入れて使います。




 

virtualenv をインストールする。

$ pip3 install --upgrade virtualenv

pyenv-virtualenvを使っている人は、以下は同等のことをしてください。

 

virtualenv 環境を作る。

$ which python

$ virtualenv --system-site-packages targetDirectory # for Python 2.7
$ virtualenv --system-site-packages -p python3 targetDirectory # for Python 3.n

targetDirectoryは基本 ~/tensorflow にすると、以下のインストラクションでそのまま使えます。

 

virtualenv 環境をアクティベートする。

$ source ~/tensorflow/bin/activate      # If using bash, sh, ksh, or zsh
$ source ~/tensorflow/bin/activate.csh  # If using csh or tcsh 

(tensorflow)$ 

  

tensorflowを入れる。

(tensorflow)$ pip install --upgrade tensorflow      # for Python 2.7
(tensorflow)$ pip3 install --upgrade tensorflow     # for Python 3.n
(tensorflow)$ python
>>> import tensorflow as tf
>>>

import でエラーがでなければOK

 

Tensorflow の C 用ライブラリを入れる。

追加のTensorflow Cライブラリを/usr/local/bin以下に入れます。

(tensorflow)$ TF_TYPE="cpu" # Change to "gpu" for GPU support
(tensorflow)$ OS="linux" # Change to "darwin" for Mac OS
(tensorflow)$ TARGET_DIRECTORY="/usr/local"
(tensorflow)$ curl -L \
   "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-${TF_TYPE}-${OS}-x86_64-1.3.0.tar.gz" |
   sudo tar -C $TARGET_DIRECTORY -xz

これでインストールできています。

  

cファイルをコンパイルして実行する。

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
  printf("Hello from TensorFlow C library version %s\n", TF_Version());
  return 0;
}

コンパイルして実行する。
xcodeでgccを入れてる人は、gccだけだとエラー吐くと思うので、pathを指定します。別途設定している人はいらないです。

(tensorflow)$ gcc -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow
(tensorflow)$ a.out
hello from tensorflow c library version 1.3.0

 

openFrameworks で tensorflowを実行する。

openFrameworksは普通にインストールして、適当にプロジェクトを作ります。
することはxcodeで -I/usr/local/include -L/usr/local/lib hello_tf.c -ltensorflow と同じことをするだけです。

 

openFrameworksでパス等を追加する。

OFのプロジェクトのxcodeprojを開きます。
そして、左タブからプロジェクトファイルを選択して、Build Settingタブを開きます。
Header Search Pathsに、/usr/local/include を
Library Search Pathsに、/usr/local/lib を
追加します。

 
次にBuild Phasesタブを開きます。
Link Binary With Librariesに、libtensorflow.soを追加するのですが、これを+から検索しても出てきません。
なので、シェルコマンドでフォルダを開きます。

$ cd /usr/local/
$ open lib

libフォルダが開くので、libtensorflow.soがあるはずなのでそれをドラックして追加します。

  

実行する。

#include "ofMain.h"
#include "ofApp.h"

#include <stdio.h> // 追加
#include <tensorflow/c/c_api.h> // 追加

//========================================================================
int main( ){
	ofSetupOpenGL(1024,768,OF_WINDOW);			// <-------- setup the GL context

	// this kicks off the running of my app
	// can be OF_WINDOW or OF_FULLSCREEN
	// pass in width and height too:
    printf("hello from tensorflow c library version %s\n", TF_Version()); // 追加

	ofRunApp(new ofApp());

}

これで、実行すると(必要ないですが)ウィンドウがでてきて
XcodeのOutputに
hello from tensorflow c library version 1.3.0
と出力されて動いてることがわかります。

コメントする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です