Mac OS下編譯安裝Tensorflow

Mac OS X 10.12.6 16G29
Python 3.6.2 (Anaconda 4.3.23)
Intel Core i7-4770HQ @ 2.20GHz

前言

如果直接通過pip install tensorflow安裝Tensorflow的話嚷堡,在運行時可能會有這種警告

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

主要是因為你的CPU支持AVX2揭朝,SSE等指令集六荒,而pip安裝的庫沒有使用它們恩袱。啟用這些指令集會提升運算速度欣范,而且每次打印一大坨看著有點煩人鬼吵,所以這里我們從源碼編譯安裝Tensorflow雅潭。

編譯&安裝

  • 先安裝一些依賴
$ brew install bazel swig
  • 克隆代碼倉庫
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd tensorflow
  • master分支代碼一般很新担平,鬼知道有什么問題,這里用v1.2.1版本
$ git checkout v1.2.1
  • 這里先configure芒率,過程中會問一些編譯過程中要用到的參數(shù)囤耳,比如Python的目錄,是否開啟OpenCL偶芍,CUDA支持充择,我這里直接全否了。
$ ./configure
Please specify the location of python. [Default is /usr/local/anaconda3/bin/python]:
Found possible Python library paths:
  /usr/local/anaconda3/lib/python3.6/site-packages
Please input the desired Python library path to use.  Default is [/usr/local/anaconda3/lib/python3.6/site-packages]

Using python library path: /usr/local/anaconda3/lib/python3.6/site-packages
Do you wish to build TensorFlow with MKL support? [y/N] n
No MKL support will be enabled for TensorFlow
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]: n
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] n
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with Hadoop File System support? [y/N] n
No Hadoop File System support will be enabled for TensorFlow
Do you wish to build TensorFlow with the XLA just-in-time compiler (experimental)? [y/N] n
No XLA JIT support will be enabled for TensorFlow
Do you wish to build TensorFlow with VERBS support? [y/N] n
No VERBS support will be enabled for TensorFlow
Do you wish to build TensorFlow with OpenCL support? [y/N] n
No OpenCL support will be enabled for TensorFlow
Do you wish to build TensorFlow with CUDA support? [y/N] n
No CUDA support will be enabled for TensorFlow
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.
Configuration finished
  • 編譯步驟匪蟀,在--copt=-m后面添加你需要的指令集椎麦,之前警告有什么你就在這加什么就可以,我這里添加了avx avx2 fma sse4.1 sse4.2材彪。編譯過程時間很長观挎,我的4770hq跑了快25min
$ bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip_package:build_pip_package
  • 打包成whl
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
  • 安裝這個whl,如果之前安裝過Tensorflow的話先卸載段化,再安裝
$ pip uninstall -y tensorflow
$ pip install /tmp/tensorflow_pkg/tensorflow-1.2.1-cp36-cp36m-macosx_10_7_x86_64.whl

完事嘁捷,這樣再調用Session就不會有提示了

Hello, TensorFlow!

結尾

最后丟一個我編譯好的版本,1.2.1版本显熏,Python 3.6雄嚣,開啟avx avx2 fma sse4.1 sse4.2指令集,度盤喘蟆,GD缓升。

參考文章

Installing TensorFlow from Sources
Python: Keras/TensorFlow の學習を CPU の拡張命令で高速化する (Mac OS X) - CUBE SUGAR CONTAINER

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蕴轨,隨后出現(xiàn)的幾起案子港谊,更是在濱河造成了極大的恐慌,老刑警劉巖尺棋,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件封锉,死亡現(xiàn)場離奇詭異绵跷,居然都是意外死亡,警方通過查閱死者的電腦和手機成福,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門碾局,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奴艾,你說我怎么就攤上這事净当。” “怎么了蕴潦?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵像啼,是天一觀的道長。 經(jīng)常有香客問我潭苞,道長忽冻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任此疹,我火速辦了婚禮僧诚,結果婚禮上,老公的妹妹穿的比我還像新娘蝗碎。我一直安慰自己湖笨,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布蹦骑。 她就那樣靜靜地躺著慈省,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眠菇。 梳的紋絲不亂的頭發(fā)上边败,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音琼锋,去河邊找鬼放闺。 笑死,一個胖子當著我的面吹牛缕坎,可吹牛的內容都是我干的。 我是一名探鬼主播篡悟,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼谜叹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了搬葬?” 一聲冷哼從身側響起荷腊,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎急凰,沒想到半個月后女仰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年疾忍,在試婚紗的時候發(fā)現(xiàn)自己被綠了乔外。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡一罩,死狀恐怖杨幼,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情聂渊,我是刑警寧澤差购,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站汉嗽,受9級特大地震影響欲逃,放射性物質發(fā)生泄漏。R本人自食惡果不足惜饼暑,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一暖夭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧撵孤,春花似錦迈着、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至闭专,卻和暖如春奴潘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背影钉。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工画髓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人平委。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓奈虾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親廉赔。 傳聞我的和親對象是個殘疾皇子肉微,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容