注:Macbook pro 13' 沒(méi)有NVIDIA的顯卡灰署,沒(méi)辦法CUDA編程判帮,所以下面都是CPU編程局嘁。
2018.3.7更新:
建議大家直接安裝anaconda,然后通過(guò)anaconda去安裝tensorflow和keras脊另。相關(guān)教程在tensorflow和keras的官網(wǎng)上都有氮趋,直接按步驟來(lái)就好背苦。
1. 安裝homebrew
homebrew是Mac端的一個(gè)軟件包管理系統(tǒng)左冬,通過(guò)它可以很方便地通過(guò)控制臺(tái)命令安裝程序硫朦。打開(kāi)終端秃流,輸入(把下面的直接復(fù)制就行了):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 用homedrew安裝python
用homedrew安裝python只要一行命令走贪,然后等著就好了:
brew install python
3. 安裝pip
最終TensorFlow還是通過(guò)pip來(lái)安裝的球切,所以先安裝pip勾徽。pip的版本是根據(jù)python版本來(lái)的氓癌。
python2.7:
sudo easy_install pip
sudo easy_install --upgrade six
python3:
sudo easy_install pip3
sudo easy_install --upgrade six
4. 引入TensorFlow的正確版本的URL
這里要根據(jù)自己的python版本來(lái)選擇對(duì)應(yīng)的TensorFlow的包谓谦。
需要查看python版本的話,在終端輸入:python贪婉,然后回車(chē)反粥,就會(huì)有了。
Mac OS X, CPU only, Python 2.7:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc0-py2-none-any.whl
Mac OS X, CPU only, Python 3.4 or 3.5:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc0-py3-none-any.whl
5. 用pip安裝引入的TensorFlow
上面一步中把URL引入了疲迂,這一步用pip把該URL下的程序安裝:
python2.7 / pip:
sudo pip install --upgrade $TF_BINARY_URL
python3 / pip3:
sudo pip3 install --upgrade $TF_BINARY_URL
6. 第一個(gè)TensorFlow小demo
安裝完畢才顿,測(cè)試一下,是不是可以使用啦:
python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)
輸出結(jié)果:Hello, TensorFlow!
a = tf.constant(10)
b = tf.constant(32)
sess.run(a+b)
輸出結(jié)果:42
7. 安裝keras
最后裝上keras:
sudo pip install keras
8. 如何使用keras
先進(jìn)入python模式:
python
然后使用keras尤蒿,模型選擇線性(Sequential)的啥的郑气,自己可以定:
from keras.models import Sequential
model = Sequential()
構(gòu)建網(wǎng)絡(luò)各層,直接add就可以:
from keras.layers import Dense, Activation
model.add(Dense(output_dim=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(output_dim=10))
model.add(Activation("softmax"))
構(gòu)建完畢腰池,configure一下:
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
如果有需要尾组,可以?xún)?yōu)化網(wǎng)絡(luò),如使用SGD(隨機(jī)梯度下降法)
from keras.optimizers import SGD
model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))
下面就可以開(kāi)始訓(xùn)練數(shù)據(jù)了示弓,當(dāng)然這些X_train, Y_train需要load進(jìn)來(lái)哦:
model.fit(X_train, Y_train, nb_epoch=5, batch_size=32)
然后測(cè)試數(shù)據(jù)讳侨,檢查準(zhǔn)確率,同樣的X_test, Y_tes自己load進(jìn)來(lái):
loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)
或者給個(gè)數(shù)據(jù)奏属,預(yù)測(cè)下結(jié)果:
classes = model.predict_classes(X_test, batch_size=32)
proba = model.predict_proba(X_test, batch_size=32)