ARM平臺上安裝CPU版TensorFlow

/*

????TensorFlow是谷歌研發的第二代人工智能學習開源框架,可被用于圖像識別、語音識別等多項機器學習和深度學習領域。TensorFlow的一大特點是支持異構設備分布式計算,這使該框架能夠在從嵌入式到大型服務器的各種不同平臺上運行。同時隨著ARM處理器性能的不斷增強,越來越多的開發者和廠商在把TensorFlow應用遷移到ARM平臺上。由于實際項目的需求,我嘗試在ARM嵌入式平臺上安裝TensorFlow并最終測試成功,下面詳細說明過程。

*/

0. 硬件資源介紹

????此案例中選用的嵌入式開發板型號是Firefly-RK3399,官網的產品介紹可點擊http://www.t-firefly.com/product/rk3399.html。RK3399使用了64位Cortex-A72*2+CortexA53*4的bigLITTLE大小核架構,最高頻率達到了2GHz。開發板上雖然還集成了一顆Mali-T860 MP4四核GPU,但是用這個GPU來做深度學習有點不太現實,因此選擇CPU版本的TensorFlow。此外,選配的RK3399還擁有4G DDR3內存和120G eMMC硬盤。嵌入式板安裝了Ubuntu16.04系統,此系統預裝了Python2.7。


1.安裝pip3

首先RK3399開機,打開terminal,敲入命令,等待安裝完成。

#For Python 3.5.2

sudo apt-get install python3-pip python3-dev?

2.獲取TensorFlow安裝包

CPU版本的TensorFlow一般來說是運行在主流的x86架構下的,但是萬能的谷歌怎么會忘記嵌入式領域。谷歌的幾位大神員工合力貢獻出了一個適用于ARM aarch64架構的TensorFlow安裝包。使用git下載tensorflow-1.1.0rc1-cp35-cp35m-linux_aarch64.whl安裝包。此過程需要等待較長時間。

#安裝git

sudo apt-get install git-core

#下載tensorflow-1.1.0rc1-cp35-cp35m-linux_aarch64.whl

git clone https://github.com/JohnnyChan8/TensorFlow4FireflyRK3399.git

3.使用pip3安裝TensorFlow

#進入下載的tensorflow安裝包內

pip3 install tensorflow-1.1.0rc1-cp35-cp35m-linux_aarch64.whl

#等待時間也比較長,安裝完成后可能會提示需要升級pip版本,根據提示命令進行pip升級


4.安裝其他常用的模塊

#Python調用MATLAB畫圖庫

python3 -m pip install? matplotlib

#cairocffi庫

sudo apt-get install python3-cairocffi

#優質的數據集

python3 -m pip install? sklearn

5.測試TensorFlow是否安裝成功

#在命令行中輸入

python3

#在Python命令行中逐行輸入

import tensorflow as tf

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

sess= tf.Session()

print(sess.run(hello))

#如果打印'Hello TensorFlow!'說明tensorflow安裝成功


7.更換系統默認Python版本

Ubuntu16.04已經默認安裝了Python2.7.2,在命令行中輸入Python進入的是Python2.7環境。但是在實際中常用的是Python3.5或3.6,上面的步驟已經安裝了Python3.5.2,因此要更改系統默認Python版本。

#以 root 身份登錄,首先列出所有可用的 python 替代版本信息:

update-alternatives --list python

#可能會顯示如下錯誤

update-alternatives: error: no?alternatives for python

#如果出現以上所示的錯誤信息,則表示 Python 的替代版本尚未被 update-alternatives 命令識別。想解決這個問題,我們需要更新一下替代列表,將 python2.7 和 python3.5 放入其中

whereis python

#用以上命令得到python的路徑,按照得到的路徑設置默認的Python版本

update-alternatives --install

/usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install

/usr/bin/python python /usr/bin/python3.5 2

/*

--install選項使用了多個參數用于創建符號鏈接。最后一個參數指定了此選項的優先級,如果我們沒有手動來設置替代選項,那么具有最高優先級的選項就會被選中。我為python3.5設置的優先級為2,所以update-alternatives 命令會自動將它設置為默認 Python 版本。

*/


彩蛋

在RK3399平臺上沒有安裝anaconda3,因為x86架構的軟件不能在ARMv8上運行。但是在樹莓派生態中已經有人做出了嘗試,可以安裝特制版anaconda,即miniconda。請參考

https://blog.csdn.net/weixin_37272286/article/details/80092520

Hear me roar!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。