A. 如何在windows上編譯安裝tensorflow
你好,
Cmake
在解壓並打開下載的tensorflow源碼,進入裡面的如下路徑
tensorflow-master\tensorflow\contrib\cmake
新建一個文件夾build,作為存放編譯結果的地方.
進入build文件夾
復制當前的路徑
B. 有沒有tensorflow的編譯器
有沒有tensorflow的編譯器
(其中.config的內容是在make menuconfig的時候,通過Kconfig文檔配置的結果)
在linux2.6.x/Documentation/kbuild目錄下有詳細的介紹有關kernel makefile的知識。
最後舉個例子:
假設想把自己寫的一個flash的驅動程式載入到工程中,而且能夠通過menuconfig配置內核時選擇該驅動該怎麼辦呢?能夠分三步:
第一:將您寫的flashtest.c 文檔添加到/driver/mtd/maps/ 目錄下。
第二:修改/driver/mtd/maps目錄下的kconfig文檔:
config MTD_flashtest
tristate 「ap71 flash"
這樣當make menuconfig時 ,將會出現 ap71 flash選項。
C. tensorflow-gpu怎麼寫程序
在Mac電腦上面編譯GPU版本TensorFlow的方法
基本使用
使用 TensorFlow, 你必須明白 TensorFlow:
使用圖 (graph) 來表示計算任務.
在被稱之為 會話 (Session) 的上下文 (context) 中執行圖.
使用 tensor 表示數據.
通過 變數 (Variable) 維護狀態.
使用 feed 和 fetch 可以為任意的操作(arbitrary operation) 賦值或者從其中獲取數據.
D. TensorFlow的優勢和缺點有哪些
很多神經網路框架已開源多年,支持機器學習和人工智慧的專有解決方案也有很多。多年以來,開發人員在Github上發布了一系列的可以支持圖像、手寫字、視頻、語音識別、自然語言處理、物體檢測的機器學習框架,但並沒有一種框架可以完美地解決你所有的需求。那麼該如何選擇最適合你的開源框架呢?希望下面帶有描述的圖表以及分析可以帶給你以啟發,以此來選擇最適合你的業務需求的框架。
下圖總結了絕大多數Github上的開源深度學習框架項目,根據項目在Github的Star數量來評級,數據採集於2017年5月初。
圖片描述
TensorFlow
TensorFlow框架的前身是Google的DistBelief V2,是谷歌大腦項目的深度網路工具庫,一些人認為TensorFlow是借鑒Theano重構的。
Tensorflow一經開源,馬上引起了大量開發者的跟進。Tensorflow廣泛支持包括圖像、手寫字、語音識別、預測和自然語言處理等大量功能。TensorFlow遵循Apache 2.0開源協議。
TensorFlow在2017年2月15號發布了其1.0版本,這個版本是對先前八個不完善版本的整合。以下是TensorFlow取得成功的一些列原因:
TensorFLow提供這些工具:
TensorBroad是一個設計優良的可視化網路構建和展示工具;
TensorFlow Serving通過保持相同的伺服器架構和API,可以方便地配置新演算法和環境。TensorFlow Serving 還提供開箱即用的模型,並且可以輕松擴展以支持其他的模型和數據。
TensorFlow編程介麵包括Python和C++,Java,Go,R和Haskell語言的介面也在alpha版中支持。另外,TensorFlow還支持谷歌和亞馬遜的雲環境。
TensorFlow的0.12版本支持Windows 7, 8, Server 2016系統。由於採用C++ Eigen庫,TensorFlow類庫可以在ARM架構平台上編譯和優化。這意味著你可以不需要額外實現模型解碼器或者Python解釋器就可以在多種伺服器和移動設備上部署訓練好的模型。
TensorFlow提供細致的網路層使用戶可以構建新的復雜的層結構而不需要自己從底層實現它們。子圖允許用戶查看和恢復圖的任意邊的數據。這對復雜計算的Debug非常有用。
分布式TensorFlow在0.8版本推出,提供了並行計算支持,可以讓模型的不同 部分在不同設備上並行訓練。
TensorFlow在斯坦福大學,伯克利學院,多倫多大學和Udacity(2016年3月成立的在線學校)均有教學。
TensorFlow的缺點有:
每個計算流必須構建成圖,沒有符號循環,這樣使得一些計算變得困難;
沒有三維卷積,因此無法做視頻識別;
即便已經比原有版本(0.5)快了58倍,但執行性能仍然不及它的競爭者。
Caffe
Caffe是賈揚清的作品,目前,賈揚清是Facebook AI平台的Lead。始於2013年末,Caffe可能是第一個主流的工業級的深度學習工具包。Caffe具有卓越的卷積模型,是計算機視覺領域最受歡迎的工具之一,且2014年ImageNet 大賽的獲獎作品使用的就是Caffe框架。Caffe遵循BSD 2-Clasuse 協議。
Caffe的高速使得它非常適合於科研和商業領域。利用一個NVIDIA K40 GPU,Caffe可以每天處理60M張圖片,即推斷1毫秒一張,訓練4毫秒一張。使用最新的版本,甚至可以更快。
Caffe底層是用C++實現的,可以在各種設備上編譯。Caffe是跨平台的並且提供Windows介面,它提供C++,Python和Matlab語言介面。Caffe擁有著龐大的用戶社區,並且有大量深度網路模型在社區上貢獻,被稱為「Model Zoo」。其中,AlexNet和GoogleNet是最著名的兩個。
Caffe是視覺識別的流行框架,然而Caffe不提供像TensorFlow,CNTK或Theano一樣細粒度的層結構。你必須編寫底層代碼來構建復雜的層結構。由於它的固有架構,Caffe對循環網路和語言模型的支持不力。
Caffe2
賈揚清和他的團隊目前在Facebook致力於Caffe2的研發。2017年4月18號,Facebook基於BSD協議開源了Caffe2。Caffe2聚焦於模塊化,在移動設備和大規模部署均表現出色。和TensorFlow一樣,Caffe2頁使用C++ Eigen以支持ARM架構。
Caffe的模型可以通過腳本輕松轉化成Caffe2模型。Caffe在設計上的傾向使得它特別適合視覺相關的問題,Caffe2沿襲了它對視覺問題的強大支持,同時還加入了RNN和LSTM以更好地支持自然語言處理,手寫字識別和時間序列預測。
可以預見在不遠的將來Caffe2將會替代Caffe在深度學習社區的地位。
Microsoft Cognitive Toolkit
Microsoft Cognitive Toolkit(CNTK)設計的初衷是用於語音識別領域。CNTK支持RNN(循環神經網路)和CNN(卷積神經網路),因此他有能力勝任圖像、手寫字和語音識別問題。CNTK支持64位Linux和Windows系統,提供Python和C++語言介面,遵循MIT協議。
CNTK與TensorFlow和Theano有著類似的設計理念——把網路定義成向量操作的語義圖,向量操作例如矩陣加法、矩陣乘法以及卷積。同時,CNTK也提供細粒度的網路層設計,允許用戶使用它們設計新的復雜網路。
和Caffe一樣,CNTK底層也是C++實現並具有跨平台CPU/GPU支持。搭載在Azure GPU Lab上,CNTK能發揮出最高的分布式計算性能。目前,CNTK由於不支持ARM架構,限制了其在移動端的應用。
MXNet
MXNet源自於卡內基梅隆大學和華盛頓大學。MXNet是一個極具特色,可編程,可擴展的深度學習框架。MXNet可以混合多種語言的模型和代碼,包括Python, C++, R, Scala, Julia, Matlab, JavaScript。2017年1月30號,MXNet被納為Apache基金會孵化項目。
MXNet支持CNN、RNN、LSTM, 提供對圖像,手寫字,語音識別,預測和自然語言問題的強大支持。有人認為,MXNet是世界上最好的圖像分類器。
MXNet具有出色的可擴展性,例如GPU並行計算,存儲映像,高速開發和可移植性。另外,MXNet可以和Apache Hadoop YARN結合,YARN是一個通用分布式應用管理框架,這一特性使得MXNet成為TensorFlow的競爭者。
MXNet的一個獨特之處是它是少有的幾個支持對抗生成網路(GAN)的框架之一。這個模型被用於實驗經濟學方法中的「納什均衡」。
另一個特殊之處是,亞馬遜的CTO Werner Vogels宣布了對MXNet的支持:「今天,我們宣布MXNet將成為亞馬遜的深度學習框架選擇。我們將在現有和未來將出現的服務中使用MXNet。」蘋果公司的部分傳聞也表示該公司將會使用MXNet作為其深度學習框架。
Torch
Torch由Facebook的Royan Collobert、Soumith Chintala、曾任於Twitter現任於Nvidia的Clement Farabet和Google Deep Mind 的Koray Kavukcuoglu共同開發。其主要貢獻者是Facebook、Twitter和Nvidia。 Torch遵守BSD 3 clause 開源協議。然而,Facebook近期宣布將轉向Caffe2作為其首選深度學習框架因為它支持移動設備開發。
Torch由Lua語言實現,Lua是一種小眾語言,因此若你不熟悉這門語言,會影響到整個工作的效率。
Torch缺少像TensorFlow、MXNet on YARN和Deeplearning4J那樣的的分布式支持,缺少多種語言介面同樣限制了它的受眾。
DeepLearning4J
DeepLearning4J(DL4J)是基於Apache 2.0協議的分布式開源神經網路類庫,它由Java和Scala實現。DL4J是SkyMind的Adam Gibson開發的,它是唯一的商品級深度學習網路,可以和Hadoop、Spark結合構建多用戶多線程服務。DL4J是唯一使用Map-Rece訓練網路而使用其他類庫進行大規模矩陣操作的框架。
DL4J擁有內建的GPU支持,這一重要特性能夠支持YARN上的訓練過程。DL4J擁有豐富的深度神經網路架構支持,包括RBM,DBN,CNN,RNN,RNTN和LSTM。DL4J還支持一個向量計算庫——Canova。
由於是由Java實現,DL4J先天比Python塊,它使用多GPU執行圖像識別任務和Caffe一樣快。該框架可以出色完成圖像識別,欺詐檢測和自然語言處理任務。
Theano
Theano主要由蒙特利爾大學學習演算法研究所(MILA)創立。Yoshua Bengio是Theano的開創者,同時領導這個實驗室,該實驗室在深度學習研究領域做出巨大的貢獻,培養出約100名相關學生和從業者。Theano支持高效機器學習演算法的快速開發,遵守BSD開源協議。
Theano不像TensorFlow那樣優雅,但它提供了支持循環控制(被稱為scan)的API,可以輕松實現RNN。
Theano提供多種支持手寫字識別、圖像分類(包括醫學圖像)的卷積模型。Theano還提供三維卷積和池化用於視頻分類。在語言方面,Theano能勝任例如理解、翻譯和生成等自然語言處理任務。Theano還支持生成對抗網路(GAN),GAN即是由MILA的一位學生提出的。
Theano支持多GPU並行計算並且自帶分布式框架。Theano只支持一種開發語言,比TensorFlow速度快很多,是一種學術研究的有力工具。然而,其不支持移動平台以及沒有多種語言介面的缺陷限制了它在企業的廣泛應用。
開源與專利軟體之爭
隨著深度學習逐漸成熟,可以預知到我們將見證TensorFlow,Caffe2和MXNet的競賽。同時,軟體供應商也在提供先進的AI產品使你從數據中獲取更多價值。問題是:你會購買帶有專利的AI產品還是使用開源框架。如果使用開源框架,你將會面臨哪種框架最適合你的問題的選擇困難。而選擇專利軟體,你又將怎樣制定退出策略?任何一種選擇都需要長遠考慮。
E. tensorflow 調試時,怎麼看下面的參數的裡面內容
基本使用 使用 TensorFlow, 你必須明白 TensorFlow: 使用圖 (graph) 來表示計算任務. 在被稱之為 會話 (Session) 的上下文 (context) 中執行圖. 使用 tensor 表示數據. 通過 變數 (Variable) 維護狀態. 使用 feed 和 fetch 可以為任意的操作
F. 如何在Mac電腦上面編譯GPU版本TensorFlow
1
而今天我要做的,就是帶著所有這些幾乎沒有編程基礎卻很想學習Tensorflow的同學跨過這道坎。告訴你們大家如何准備好使用Tensorflow進行編程所需的一切,以及如何看懂教程上的那些代碼所代表的含義,那麼廢話不多說,我們馬上開始。
2
安裝環境
Tensorflow的支持列表裡是沒有Windows的。雖然可以用Docker來實現在Windows上運行,但小問題很多,它支持的最好的還是基於unix內核的系統,如Linux,因此我們最好還是安裝一個Linux的環境來運行它。Linux是一款免費的開源操作系統,應用非常廣泛,如著名的android就是基於Linux改進的一款針對手機的操作系統。而對於我們來說,最易於理解的版本就是著名的Ubuntu,點擊鏈接即可去官網下載,正如前面所說,下載和使用都是免費的。
如果你使用的是Mac,那就方便很多了,因為Mac os本身就是一個基於Unix的操作系統,已經搭載了全部安裝Tensorflow所需要的組件。所以安裝的很多步驟都可以省去,直接進行Tensorflow的安裝,不過命令同Ubuntu有所不同。但你也可以看看接下來的教程,對理解那些命令也會有幫助。呃……你說你在Mac上裝了Windows?
下載之後,你會得到一個裝著Ubuntu系統的.iso文件。有兩個辦法來處理它,一是直接安裝,同電腦現在在用的系統組成雙系統(當然你也可以換掉現在的系統,不過我想應該沒有人會願意這么做的吧哈哈)。如果你不想那麼大動干戈,也可以通過虛擬機來虛擬一個系統。不過,安裝虛擬機對配置有一定要求,畢竟它相當於在你的電腦上同時打開兩個系統了——CPU最好不要低於4代i3(尤其是筆記本,CPU型號的i3/5/7-xxxx的四位數里第一個x就表示它的代數)。內存——注意,內存一定不能低於4g,因為你給虛擬機分配的內存在虛擬機啟動之後會1:1的從你的物理內存中劃走。再加上物理機系統的消耗。當然,這個配置表是只有下限沒有上限的,你的電腦配置越好,體驗就越好。而裝雙系統的話,對配置的需求就小很多了。
G. 如何自己寫tensorflow的android應用
在發布逾一周年之際,TensorFlow 終於將迎來史上最重大更新:TensorFlow 1.0。 對於不熟悉開源框架的讀者,TensorFlow 是谷歌 2015 年底推出的深度學習框架,在開發者社區享有盛譽。去年,它已成為 GitHub 最受歡迎的機器學習開源項目。因其高度普及率,尤其是在 Python 生態圈中,TensorFlow 的功能變化會對全世界的機器學習開發者造成重大影響。 本月初,谷歌公布了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一個草稿版本。近日,新的候選版本 TensorFlow 1.0.0-rc0 被發布出來,披露了更多技術細節,標志著我們離 完全體的 TensorFlow 1.0 更近一步。 雷鋒網消息,1.0 版本不僅為 TensorFlow 機器學習函數庫帶來多重升級,而且為 Python 和 Java 用戶使用 TensorFlow 做開發降低了難度。另外,新版本的漏洞修補也得到了改善。更有意思的是,由於對 TensorFlow 計算做優化的新編譯器,在智能手機上運行基於 TensorFlow 的機器學習 APP 將成為可能。 強化對 Python 支持,加入 Java API 由於 Python 是最常用的機器學習開發語言,TensorFlow 1.0 對 Python 交互作了重點改進Python API 得到升級,TensorFlow 使用的語法和隱喻(syntax、metaphor)與 Python 的能更好吻合,提升兩者之間的一致性。 雷鋒網獲知,該升級帶來了一個壞消息:現有 Python 應用將無法兼容。TensorFlow 開發者們已經發布了一個能把舊 TensorFlow API 轉化為新格式的腳本,但是該腳本無法解決所有問題很多情況下,開發者需要人工調整腳本。 TensorFlow 現已支持與 Python 3 兼容的 Docker 鏡像。對於所有 Python 用戶,TensorFlow 現在可以通過 Python 的原生軟體包管理器 pip 來安裝。這是提升 TensorFlow 可用性的關鍵一步,尤其對於那些使用原生 Python 應用分發、而非使用數據科學專用體系(比如 Anaconda)的用戶。 Java 是機器學習領域的另一個主流語言平台。此前,TensorFlow 並沒有對其支持,更沒有一系列對 Java 的捆綁,而新的 1.0 版本引入了一個 Java API。但雷鋒網提醒,它還遠未成熟,隨時可能會有變化。而且,你需要 Linux 或者 Mac OS 平台上的來源來開發 TensorFlow(你可以把這作為 Windows 端 TensorFlow 是二等公民的另一個證據)。 TensorFlow 1.0 的最大變化或許不是新語言支持或者新演算法,而是 XLA 全稱 Accelerated Linear Algebra,意為加速線性代數,是一個針對 TensorFlow 中線性代數運算的試驗性質編譯器。它通過生成既能運行於 GPU、又能在 CPU 運行的機器代碼,來加速數學計算。目前, XLA 只支持英偉達 GPU,但這與當下機器學習應用對 GPU 支持的現狀是一致的。 XLA 提升了 TensorFlow 的移動性。現有的、未經調整的 TensorFlow 程序只需創建一個後端即可在新硬體平台上運行。這么做的意義非同尋常 此前, IBM 就為它的 PowerAI 機器學習硬體解決方案加入了對 TensorFlow 的支持,前者由 Power8 CPU 和 GPU 混合運行。 TensorFlow 的工程師已經縮減了它的整體內存佔用和 APP 的存儲空間佔用。這些優化對各類硬體運行環境都有好處,但對於移動平台尤其重要。此前的 TensorFlow 版本已經加入了對安卓、iOS 和 Raspberry Pi(樹莓派微型電腦)硬體平台的支持,使得 TensorFlow 能在這類設備上處理諸如圖像分類之類的任務。 關於機器學習的討論往往會涉及高端硬體機器學習,尤其是深度學習,是發展高端硬體的重要推動力量,不管是定製 CPU、GPU 陣列、FPGA 還是支持雲端壞境的規模化硬體。但有理論認為,創造出能在普通智能手機上運行的機器學習模型,而無需 24 小時每時每刻的雲端支持,將會孵化出一系列新型應用。這便是TensorFlow 1.0 的野心之一。 viainfoworld
H. 怎麼源碼編譯tensorflow
Cmake
解壓並打載tensorflow源碼進入面路徑
tensorflow-master\tensorflow\contrib\cmake
新建文件夾build作存放編譯結.
進入build文件夾
復制前路徑
I. tensorflow怎麼做應用程序
TensorFlow 使用的語法和隱喻(syntax.0 的最大變化或許不是新語言支持或者新演算法。這是提升 TensorFlow 可用性的關鍵一步,但對於移動平台尤其重要,不管是定製 CPU,TensorFlow 1,由於對 TensorFlow 計算做優化的新編譯器,而且為 Python 和 Java 用戶使用 TensorFlow 做開發降低了難度,披露了更多技術細節。而且:現有 Python 應用將無法兼容,即 TensorFlow 1.0 的野心之一,更沒有一系列對 Java 的捆綁,標志著我們離 完全體的 TensorFlow 1,它已成為 GitHub 最受歡迎的機器學習開源項目,使得 TensorFlow 能在這類設備上處理諸如圖像分類之類的任務。因其高度普及率,谷歌公布了 TensorFlow 1.0,開發者需要人工調整腳本,創造出能在普通智能手機上運行的機器學習模型、GPU 陣列。
TensorFlow 1,TensorFlow 並沒有對其支持。
雷鋒網獲知,新版本的漏洞修補也得到了改善、未經調整的 TensorFlow 程序只需創建一個後端即可在新硬體平台上運行、FPGA 還是支持雲端壞境的規模化硬體、而非使用數據科學專用體系(比如 Anaconda)的用戶,TensorFlow 是谷歌 2015 年底推出的深度學習框架。
對於不熟悉開源框架的讀者。這便是TensorFlow 1。但雷鋒網提醒,是發展高端硬體的重要推動力量, XLA 只支持英偉達 GPU,但是該腳本無法解決所有問題很多情況下,尤其對於那些使用原生 Python 應用分發,隨時可能會有變化,尤其是深度學習。對於所有 Python 用戶。TensorFlow 開發者們已經發布了一個能把舊 TensorFlow API 轉化為新格式的腳本,TensorFlow 現在可以通過 Python 的原生軟體包管理器 pip 來安裝。
本月初,1,來加速數學計算。此前。
關於機器學習的討論往往會涉及高端硬體機器學習,但這與當下機器學習應用對 GPU 支持的現狀是一致的.0 版本不僅為 TensorFlow 機器學習函數庫帶來多重升級。
雷鋒網消息,是一個針對 TensorFlow 中線性代數運算的試驗性質編譯器。現有的,它還遠未成熟。近日,在智能手機上運行基於 TensorFlow 的機器學習 APP 將成為可能。去年.0-alpha .0 的第一個草稿版本、metaphor)與 Python 的能更好吻合、iOS 和 Raspberry Pi(樹莓派微型電腦)硬體平台的支持.0 更近一步,前者由 Power8 CPU 和 GPU 混合運行.0 版本引入了一個 Java API,TensorFlow 終於將迎來史上最重大更新,尤其是在 Python 生態圈中.0,而新的 1:TensorFlow 1。此前的 TensorFlow 版本已經加入了對安卓,將會孵化出一系列新型應用。
強化對 Python 支持,該升級帶來了一個壞消息。
TensorFlow 的工程師已經縮減了它的整體內存佔用和 APP 的存儲空間佔用。它通過生成既能運行於 GPU,加入 Java API
由於 Python 是最常用的機器學習開發語言.0-rc0 被發布出來。
XLA 提升了 TensorFlow 的移動性,提升兩者之間的一致性, IBM 就為它的 PowerAI 機器學習硬體解決方案加入了對 TensorFlow 的支持,你需要 Linux 或者 Mac OS 平台上的來源來開發 TensorFlow(你可以把這作為 Windows 端 TensorFlow 是二等公民的另一個證據),在開發者社區享有盛譽。另外在發布逾一周年之際、又能在 CPU 運行的機器代碼。更有意思的是。
Java 是機器學習領域的另一個主流語言平台。這些優化對各類硬體運行環境都有好處,TensorFlow 的功能變化會對全世界的機器學習開發者造成重大影響,而無需 24 小時每時每刻的雲端支持。
TensorFlow 現已支持與 Python 3 兼容的 Docker 鏡像,新的候選版本 TensorFlow 1,意為加速線性代數。目前。但有理論認為.0 對 Python 交互作了重點改進Python API 得到升級.0。這么做的意義非同尋常 此前,而是 XLA 全稱 Accelerated Linear Algebra