如何在Mac上安装TensorFlow

环境需求

  • MacOS: >= 10.12.6
  • HomeBrew
  • Python: 2.x or 3.x
  • pip

环境安装

打开命令行,依次输入并执行以下命令

  1. 安装Python开发环境

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 安装Homebrew
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    # 设置环境变量(如果只在命令行中输入则只对当前会话生效,永久生效请在~/.bash_profile文件末尾加入该命令)
    export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

    # 更新homebrew软件库
    brew update

    # 安装Python2
    brew install python@2

    # 下载pip安装文件
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

    # 安装pip
    python get-pip.py

    # 安装virtualenv,因为virtualenv是系统级应用,所以需要sudo
    sudo pip install -U virtualenv
  2. 创建Python虚拟环境

    1
    2
    3
    4
    5
    6
    7
    8
    # 在当前目录下创建一个tf00文件夹(里面的python环境为2.7)
    virtualenv --system-site-package -p python2.7 ./tf00

    # 激活虚拟环境, 激活后可以看到命令行多了tf00字样,证明虚拟环境已激活
    source ./tf00/bin/active

    # 查看虚拟环境创建时安装好的包
    pip list
  3. 安装适配的TensorFlow软件包

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    pip install --upgrade tensorflow

    # 安装完成后,我的命令行提示了如下信息:
    matplotlib 1.3.1 requires nose, which is not installed.
    matplotlib 1.3.1 requires tornado, which is not installed.

    # 执行命令安装缺少的包即可
    pip install nose
    pip install tornado

    # 测试安装是否成功,执行了之后什么反应都没有就证明是安装好了
    python -c "import tensorflow as tf"

    # 退出虚拟环境, 执行之后可以发现命令行中tf00字样不见了。
    deactivate

Hello TensorFlow

环境安装好了之后我们就可以按照惯例来运行一个Hello xxx程序了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 激活环境(如果刚才关掉了的话)
source ./tf00/bin/activate

# 执行hello TensorFlow程序
python
Python 2.7.10 (default, Aug 17 2018, 19:45:58)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> hello = tf.constant("Hello TensorFlow")
>>> sess = tf.Session()
2019-01-09 17:00:34.752529: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
>>> print sess.run(hello)
Hello TensorFlow

# 6,7,8行为python启动时的输出
# 12行是TensorFlow输出的Infomation, 不是警告或者错误。所以不会影响后续操作的。感兴趣的可以自行Google查询,我水平有限,解释不清楚的。
# 14行为输出结果
加载评论框需要科学上网