- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 機械学習/MacでTensorFlowを使う へ行く。
- 1 (2016-04-11 (月) 11:02:57)
- 2 (2016-04-11 (月) 11:03:28)
- 3 (2016-04-14 (木) 13:10:45)
- 4 (2016-04-15 (金) 18:48:36)
- 5 (2016-04-16 (土) 09:31:26)
- 6 (2016-04-16 (土) 11:08:22)
- 7 (2016-04-19 (火) 00:10:26)
- 8 (2016-04-19 (火) 00:56:36)
- 9 (2016-04-19 (火) 18:19:26)
- 10 (2016-04-19 (火) 18:19:26)
- 11 (2016-04-19 (火) 18:19:26)
- 12 (2017-06-19 (月) 19:23:31)
- 13 (2017-06-20 (火) 08:33:44)
- 14 (2017-06-20 (火) 08:33:44)
- 15 (2017-07-24 (月) 14:38:39)
はじめに †
ここでは、Googleが公開しているオープン・ソース・ソフトウェア (OSS) のTensorFlowをMac (OS X) にインストールして使います。
環境 †
- OS X Yosemite 10.10.5
- Python 3.5.1
- TensorFlow 0.7
Python3のインストール(アップグレード) †
まず、Python3を最新版にアップグレードします。 下記のサイトからMac OS X 64-bit/32-bit installerをダウンロードして、インストール。
TensorFlowのインストール †
基本的にはここに書いてある通りなんですが、なぜかsixのeasy_installが先にできなかったので、順序を逆にしました。
- Download and Setup - TensorFlow
$ sudo easy_install pip $ sudo pip3 install --upgrade pip
Virtualenvのインストール †
$ sudo pip3 install --upgrade virtualenv $ virtualenv --system-site-packages -p python3 /Users/Shared/tools/tensorflow $ source /Users/Shared/tools/tensorflow/bin/activate (tensorflow)$ sudo pip3 install --upgrade tensorflow (tensorflow)$ deactivate
私の研究室では、共有フォルダーのtoolsというフォルダー (/Users/Shared/tools/) に、みんなで使うツールをインストールしています。 /Users/Shared/tools/tensorflow を ~/tensorflow などTensorFlowをインストールしたいフォルダーに変更してください。
TensorFlowを動かす †
TesorFlowのサイトに掲載されているHello Worldを動かします。
- Test the TensorFlow installation - TensorFlow
$ source /Users/Shared/tools/tensorflow/bin/activate (tensorflow) $ python3 Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.
irisで線形回帰 †
まずは、おなじみのirisデータセットで線形回帰をやってみましょう。 irisデータセットは、4つの説明変数(花びらの長さ、幅、がく片の長さ、幅)とカテゴリー (setosa, versicolor, virginica) からなる分類問題用のデータセットですが、4つの説明変数を3つの説明変数と1つの目標変数にして、回帰問題用のデータセットにします。
UCI Machine Learning Repositoryからファイルをダウンロードします。 中身はこんな感じです。
>>> import tensorflow as tf >>> node1 = tf.constant(3.0, dtype=tf.float32) >>> node2 = tf.constant(4.0) >>> sess = tf.Session() 2017-06-20 08:28:06.121472: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 2017-06-20 08:28:06.121492: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. 2017-06-20 08:28:06.121498: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations. 2017-06-20 08:28:06.121502: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations. >>> print(sess.run([node1, node2])) [3.0, 4.0] >>> node3 = tf.add(node1, node2) >>> print(sess.run(node3)) 7.0 >>> quit() (tensorflow) $ deactivate
ソースコードはこんな感じです。
以下のページを参考にしました。
- TensorFlowで回帰をやってみる - Qiita
$ head -5 iris.data 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa
実行すると、次のようになります。
$ head -50 iris.data | awk -F, '{printf("%s,%s,%s,%s,1,0,0\n",$1,$2,$3,$4);}' > iris.csv $ head -100 iris.data | tail -50 | awk -F, '{printf("%s,%s,%s,%s,0,1,0\n",$1,$2,$3,$4);}' >> iris.csv $ head -150 iris.data | tail -50 | awk -F, '{printf("%s,%s,%s,%s,0,0,1\n",$1,$2,$3,$4);}' >> iris.csv