1.安装必要的软件

1.1.安装JDK 8

(2)Look for "Mac OS X" under "Java SE Development Kit". This will download a DMG image with an install wizard.

1.2. 安装Homebrew

Install Homebrew on macOS (OS X),Installing Homebrew is a one-time setup:
 $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.3.安装bazel

安装Google自家的编译工具bazel,mac上最好的办法就是直接使用brew安装了( Install Bazel Homebrew Package)
 $ brew install bazel

You are all set. You can confirm Bazel is installed successfully by running bazel version.

You can later upgrade to newer version of Bazel with brew upgrade bazel.
 

2.安装TensorFlow

2.1.下载官方的TensorFlow源码

 $ git clone https://github.com/tensorflow/tensorflow

2.2.配置

下载完成后会在你的用户名的目录下生成一个tensorflow的文件夹,使用
 $ cd tensorflow

进入这个文件夹,然后输入:

 $ ./configure

进行配置,在配置过程中会出现一系列的问题,通常情况下没有特殊的要求,一般全部都选择n:

2.3.编译

配置完成后就是编译过程了,输入下面命令(输入此命令后你会发现你的电脑呼呼作响,并且会花较长时间来编译):
 $ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

2.4.生成pip安装包

经过漫长的编译后,任务就基本上完成了,接下来就是输入下面的命令来生成pip安装包了:
 $ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

2.5.安装TensorFlow

最后就是用pip命令来安装TensorFlow了:
 $ sudo pip install /tmp/tensorflow_pkg/tensorflow-1.3.-cp27-cp27m-macosx_10_7_x86_64.whl

至此就完成了。

3.常见问题

3.1 常见错误

出现下面的错误:
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line , in <module>
File "tensorflow/__init__.py", line , in <module>
from tensorflow.python import *
File "tensorflow/python/__init__.py", line , in <module>
from tensorflow.python import pywrap_tensorflow
File "tensorflow/python/pywrap_tensorflow.py", line , in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "tensorflow/python/pywrap_tensorflow.py", line , in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
ImportError: No module named pywrap_tensorflow_internal
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
问题原因:python误以为tensorflow目录中的tensorflow就是要导入的模块。
解决办法:不要在tensorflow中运行python或者ipython,到上一级目录或切换到其他目录运行即可。

3.2其他问题

暂略
 

4.参考链接

 

Mac下使用源码编译安装TensorFlow CPU版本的更多相关文章

  1. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  2. 源码编译安装python2/3版本

    1- 源码编译安装python2.7版本 1.1- 下载源码包 wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz 1.2- ...

  3. windows10下如何进行源码编译安装tensorflow

    1.获取python3.5.x https://www.python.org/ftp/python/3.5.4/python-3.5.4-amd64.exe 2.安装python3.5.x,默认安装即 ...

  4. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  5. Ubuntu系统下OpenDaylight源码编译安装

    操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...

  6. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  7. 001_centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel l ...

  8. 在Linux下用源码编译安装apache2

    Linux下安装一个软件,最好去看下它的官方guide,apache2.4的安装安装guide 0. installation guide http://httpd.apache.org/docs/2 ...

  9. linux下如何源码编译安装vim

    1. 获取源码 git clone https://github.com/vim/vim.git ~/vim cd ~/vim 2. 配置 ./configure --prefix=/home/jel ...

随机推荐

  1. ActiveMQ 集群负载平衡

    目前的架构: 负载均衡方案:========================================= 第二种方案呢,假设我们整个应用是个食堂,这个食堂里面有好多饭口,每个饭口有好多大爷大妈( ...

  2. Hive表中Partition的创建

    作用: 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,在对应的partition里面去查找就可以,减少查询时间. 1. 创建表 ...

  3. SQL 报表 --简易进销系统

    模型图: -- ============================================ -- Author: lifu -- Create Date: 2017-06-18 -- D ...

  4. Shell学习笔记之shell脚本和python脚本实现批量ping IP测试

    0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...

  5. Centos文件切割利器_split命令及cat命令合并文件

    有个文件要处理,因为很大,所以想把它切成若干份,每份N行,以便并行处理.split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,为提高可读性,生成日志等 命令格式 -b:值为 ...

  6. Linux下useradd命令创建的用户不能登录的问题

    Linux下useradd命令创建的用户不能登录的问题  问题: 用useradd命令新创建一个用户tester 密码pwdtest mkdir -p /home/tester(创建文件夹) user ...

  7. NFS常用命令

    1.客户端查看服务端可挂载卷 showmount -t 服务端IP 2.不重启加载NFS配置文件 exportfs -avr

  8. 移动互联网消息推送原理:长连接+心跳机制(MQTT协议)

    互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了 ...

  9. CSAPP 第三章 读书笔记

    程序的机器级表示 AT&T与Intel格式的汇编代码 我们的表述是ATT(根据"AT&T"命名的, AT&T是运营贝尔实验室多年的公 司)格式的汇编代码,这 ...

  10. P4113 [HEOI2012]采花 (莫队TLE)

    思路 update 11.2 树状数组AC 本题莫队过不去,会TLE ----------------------- 但也是个不错的莫队练手题 ------------------------ 毕竟C ...