mac book pro 安装keras (无gpu)

转自http://www.jianshu.com/p/01dc42595733

注:Macbook pro 13' 没有NVIDIA的显卡,没办法CUDA编程,所以下面都是CPU编程。

1. 安装homebrew

homebrew是Mac端的一个软件包管理系统,通过它可以很方便地通过控制台命令安装程序。打开终端,输入(把下面的直接复制就行了):

/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还是通过pip来安装的,所以先安装pip。pip的版本是根据python版本来的。

python2.7:

sudo easy_install pip

sudo easy_install --upgrade six

python3:

sudo easy_install pip3

sudo easy_install --upgrade six

4. 引入TensorFlow的正确版本的URL

这里要根据自己的python版本来选择对应的TensorFlow的包。

需要查看python版本的话,在终端输入:python,然后回车,就会有了。

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. 第一个TensorFlow小demo

安装完毕,测试一下,是不是可以使用啦:

python

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

sess.run(hello)

输出结果:Hello, TensorFlow!

a = tf.constant(10)

b = tf.constant(32)

sess.run(a+b)

输出结果:42

7. 安装keras

最后装上keras:

sudo pip install keras

8. 如何使用keras

先进入python模式:

python

然后使用keras,模型选择线性(Sequential)的啥的,自己可以定:

from keras.models import Sequential

model = Sequential()

构建网络各层,直接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"))

构建完毕,configure一下:

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

如果有需要,可以优化网络,如使用SGD(随机梯度下降法)

from keras.optimizers import SGD

model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))

下面就可以开始训练数据了,当然这些X_train, Y_train需要load进来哦:

model.fit(X_train, Y_train, nb_epoch=5, batch_size=32)

然后测试数据,检查准确率,同样的X_test, Y_tes自己load进来:

loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)

或者给个数据,预测下结果:

classes = model.predict_classes(X_test, batch_size=32)

proba = model.predict_proba(X_test, batch_size=32)

原文地址:https://www.cnblogs.com/li-daphne/p/7129235.html