本文迁移自本人简书账号酱油葱, 后续不会再在简书更新文章, 具体原因可以查看简书CEO盛赞程序员出轨率高“真实、新鲜、多元” ,对不起打扰了
前提
笔者使用的电脑为Mac mini(Late 2014), OS系统为10.12.3. python为系统的版本2.7.10
安装过程
安装Homebrew
这是Mac上安装管理工具/应用的神器, 强烈建议安装. 在终端上运行这行命令即可.
注意, 这是硬广告. XD:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
由于Homebrew每次安装新包时, 都会启动更新, 可以考虑使用以下方式:
HOMEBREW_NO_AUTO_UPDATE=1 brew install ...
或者将HOMEBREW_NO_AUTO_UPDATE=1 brew install
另外起个别名, 这样安装和升级就是两件事情了
安装pip
安装了Homebrew后, 安装其它东西简直小菜一碟, 只要网上仓库里有它的安装包就行. 在终端上运行这行命令
brew install pip
如果没有安装Homebrew, 也可以考虑直接这样安装pip:
sudo easy_install pip
安装vertualenv
virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响 这个工具也是非常必要的, 毕竟没有人愿意将自己的机器环境搞得一塌糊涂. 命令行指令如下:
sudo pip install --upgrade virtualenv
创建虚拟环境
这里可以任意指定一个目录作为虚拟Python环境的主目录, 指令如下:
virtualenv --system-site-packages ~/tensorflow
激活虚拟环境
使用bash的用户可以使用以下命令:
cd ~/tensorflow
source bin/activate
使用csh的用户可以使用以下命令:
cd ~/tensorflow
source bin/activate.csh
使用zsh的我只好表示作者太不人道了~ 于是乎只能选择bash脚本来执行. 执行结果***(终端提示符应该发生变化)***应该会显示为:
(tensorflow)$
之前的提示符应该为
$
安装TensorFlow
在 virtualenv 内, 安装 TensorFlow, 目前我使用的版本是1.0.0的CPU版本. 你如果想用别的版本可以去他们github官网上去看看都有什么路径
pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.0.0-py2-none-any.whl
感谢TensorFlow团队的努力, 目前也可以通过更快捷的方式安装了: ***Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command. ***
pip install tensorflow
测试TensorFlow
Tensor中文社区提供了一个简易Python脚本, 进行TensorFlow集成测试, 以下为Python文件内容:
# test.py
import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# 构造一个线性模型
#
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.initialize_all_variables()
# 启动图 (graph)
sess = tf.Session()
sess.run(init)
# 拟合平面
for step in xrange(0, 201):
sess.run(train)
if step % 20 == 0:
print step, sess.run(W), sess.run(b)
# 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
复制代码
以上内容保存后, 在virtualenv环境下执行:
python test.py
就能看到我们的三维数据的平面拟合结果了:
0 [[ 0.30465344 0.70788538]] [-0.23038898] 20 [[ 0.20695965 0.35023165]] [ 0.16050725] 40 [[ 0.1383343 0.2433864]] [ 0.25552779] 60 [[ 0.11293854 0.21308941]] [ 0.28581053] 80 [[ 0.10424803 0.20405222]] [ 0.2954708] 100 [[ 0.10137596 0.20127273]] [ 0.298554] 120 [[ 0.10044261 0.20040286]] [ 0.29953831] 140 [[ 0.10014189 0.20012806]] [ 0.29985258] 160 [[ 0.10004541 0.20004079]] [ 0.29995292] 180 [[ 0.10001453 0.20001301]] [ 0.29998496] 200 [[ 0.10000464 0.20000416]] [ 0.29999521]
最后的拟合结果(python精度确实是有点让人疑惑)为:
200 [[0.100, 0.200]], [0.300] #大约经过了200步达成
当使用完 TensorFlow, 需要退出虚拟环境, 可以执行这条指令停用 virtualenv:
deactivate $ # 你的命令提示符会恢复原样
还没结束~
因为CPU版本的TensorFlow跑起来实在有点慢, 所以更好的办法是使用GPU版本. 前提还是一样的, 安装brew
, pip
和virtualenv
, 然后再安装bazel:
brew install bazel
接着安装SWIG
brew install swig
再接着安装Cuda
brew cask install cuda
安装前最好检查一下Cuda的版本是否符合预安装的GPU版本最低限制(例如本人要下载的版本要求Cuda版本最低7.5)
brew cask info cuda
你会看到类似这些内容
cuda: 8.0.55 https://developer.nvidia.com/cuda-zone /usr/local/Caskroom/cuda/8.0.55 (23 files, 1.3GB) From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/cuda.rb
如果你的版本低于最低限制版本, 记得更新一下brew:
brew update brew upgrade cuda
同时, 你还得去官网NVIDIA官网下载指定版本的Cudnn(目前最新版本为5.1, 对应最高的cuda版本为8.0): developer.nvidia.com/cudnn 这是我下载的指定文件链接地址: developer.nvidia.com/rdp/assets/…
下载完成后, 记得解压并拷贝到指定目录/usr/local/cuda, 指令如下:
tar xzvf ~/Downloads/cudnn-8.0-osx-x64-v5.0.tgz sudo mv -v ~/Downloads/cuda/lib/libcudnn* /usr/local/cuda/lib sudo mv -v ~/Downloads/cuda/include/cudnn.h /usr/local/cuda/include
为了保证库能查找到链接路径, 你还要把~/.bash_profile(或其它环境配置项文件)添加以下内容:
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH
复制代码
//TODO: 本人还没安装成功, 正在纠结中, 详细教程可以看github上这篇文章
##后记 极客学院的这篇教程提到了更多的安装方式, 甚至还提供了Docker, 这样能确保你的安装能完全杜绝软件依赖问题, 减少非常多的麻烦.
TensorFlow中文社区是我们目前国内TensorFlow最大的学习和研究社区, 大伙可以加入这个大家庭, 了解更多关于大数据框架TensorFlow的知识.