Artificial Intelligence and Machine Learning , ROS Applications Course Notes created by handel liao
2017年8月10日 星期四
CentOS7 # linux GUI2CLI and CLI2GUI mode switch command
2017年8月7日 星期一
Redis資料結構簡介 :TRING(字串)、LIST(清單)、SET(集合)、HASH(散列)和ZSET(有序集合)
Linux 常用資料庫介紹
名稱
|
類型
|
資料存儲選項
|
查詢類型
|
附加功能
|
Redis
|
使用記憶體存儲(in-memory) 的非關聯式資料庫
|
字串、清單、集合、散清單、有序集合
|
每種資料類型都有自己的專屬命令, 另外還有批量操作(bulk operation)和不完全(partial)的事務支援
|
發佈與訂閱, 主從複製(master/slave replication), 持久化, 腳本(存儲過程,stored procedure)
|
memcached
|
使用記憶體存儲的鍵值緩存
|
鍵值之間的映射
|
創建命令、讀取命令、更新命令、刪除命令以及其他幾個命令
|
為提升性能而設的多執行緒伺服器
|
MySQL
|
關聯式資料庫
|
每個資料庫可以包含多個表, 每個表可以包含多個行; 可以處理多個表的視圖(view); 支援空間(spatial)和協力廠商擴展
|
SELECT 、 INSERT 、 UPDATE 、 DELETE 、函數、存儲過程
|
支援ACID性質(需要使用InnoDB), 主從複製和主主複製 (master/master replication)
|
PostgreSQL
|
關聯式資料庫
|
每個資料庫可以包含多個表, 每個表可以包含多個行; 可以處理多個表的視圖; 支援空間和協力廠商擴展;支援可定制類型
|
SELECT 、 INSERT 、 UPDATE 、 DELETE 、內置函數、自訂的存儲過程
|
支援ACID性質,主從複製, 由協力廠商支援的多主複製 (multi-master
replication)
|
MongoDB
|
使用硬碟存儲(on-disk)的非關係文檔存儲
|
每個資料庫可以包含多個表, 每個表可以包含多個無schema (schema-less)的BSON文檔
|
創建命令、讀取命令、更新命令、刪除命令、條件查詢命令,等等
|
支援map-reduce操作,主從複製,分片, 空間索引(spatial
inde
|
2017年8月3日 星期四
ubuntu背景執行方法
Django筆記 - Python的模組與套件 « dokelung's Blog
Apache HADOOP 安裝多主機(cluster)模式在 CentOS Linux 7
HADOOP 安裝多主機(cluster)模式
http://blog.jangmt.com/2015/
Ubuntu Linux 架設 Hadoop 單節點測試主機教學 - G. T. Wang
https://blog.gtwang.org/linux/
如何在 CentOS 7.1.1503 安裝 Hadoop 2.7.1 (Single-Node Cluster) - 傑士伯的IT學習之路
http://jasper-it.blogspot.tw/
redis tool
Kue is a priority job queue backed by redis, built for node.js.
PROTIP This is the latest Kue documentation, make sure to also read the changelist.
Features
- Delayed jobs
- Distribution of parallel work load
- Job event and progress pubsub
- Job TTL
- Optional retries with backoff
- Graceful workers shutdown
- Full-text search capabilities
- RESTful JSON API
- Rich integrated UI
- Infinite scrolling
- UI progress indication
- Job specific logging
- Powered by Redis
神經網路加速器大戰開打
隨著許多嵌入式系開始變得「智慧」且「自主」,以人工智慧(AI)神經網路為導向的嵌入式系統市場即將起飛,神經網路加速器大戰一觸發…
嵌入式神經網路加速器市場持續升溫,從智慧音箱、無人機到智慧燈泡等越來越多的系統準備在本地執行神經網路,以取代傳送至雲端進行運算的途徑。
Movidius副總裁兼總經理Remi El-Ouazzane日前在接受《EE Times》訪問時,將這個成長中的趨勢定義為「讓事情變得更智慧與自主的一場競賽」。
Remi El-Ouzaane,Movidius副總裁兼總經理Remi El-Ouazzane
英特爾旗下子公司Movidius在上週推出了一款採用USB外形的獨立式人工智慧(AI)加速器。El-Ouazzane說,這款名為Movidius神經運算棒(Neural Compute Stick)的AI加速器設計,可輕鬆簡單地插入Raspberry Pi或X86 PC,讓大學研究人員、獨立軟體開發人員與程式增補人員易於為嵌入式系統進行編譯、調整以及加速深度學習應用。
Movidius在去年秋天被英特爾收購後,如今已成為英特爾新技術部門的一部份。Movidius之前曾經開發出業界首款視覺處理器——Myriad 2 VPU。如今,El-Ouazzane表示,推出這款運算棒的最終目標在於讓Movidius VPU成為可在邊緣執行神經網路的「參考架構」。
Movidius Myria 2 VPU方塊圖 (來源:Intel/Movidius)
儘管目標遠大,但業界分析師隨即指出,Movidius Myriad 2 VPU當然不是嵌入式系統中可在邊緣執行神經網路的唯一選擇。
催生新產品類別:神經加速器
Tirias Research首席分析師Jim McGregor表示:「從技術上來看,您可以使用任何具有處理元件的開發板,並用於執行一種模型。例如機器學習(Machine learning)/AI模型已經執行於各種廣泛的處理器和SoC了,特別是針對行動領域。」
高通(Qualcomm)以Snapdragon系列實現的影像辨識可說是最佳的例子。高通從Snapdragon 820開始採用自家開發的模型,McGregor說:「Snapdragon基本上就是推理引擎」。
具有平行處理元件(如GPU、DSP和FPGA)的處理解決方案非常適於作為推理引擎。McGregor解釋說,許多正在開發中的客製化晶片解決方案都採用可內建於SoC的DSP或FPGA。
Linley Gwennap首席分析師Linley Gwennap對此表示贊同。他在最近出刊的《微處理器報告》(Microprocessor Report)中寫道:高通、蘋果(Apple)和英特爾(Movidius)都在「打造一種新的產品類別:神經加速器。」
Gwennap解釋說,對於這些以客戶端為基礎的加速器需求來自於要求極低延遲的自動駕駛車。Gwennap在該報告的評論中指出,在本地進行處理的新技術將會開始「滲透至一些較低成本的應用」。他預測,「在消費裝置中,小型的神經加速器可能是SoC中的一個重要區塊,就像是繪圖核心或影像處理器一樣。幾家智慧財產權(IP)供應商開始提供這一類加速器,期望盡可能地降低額外的硬體成本。」
Gwennap在《EE Times》的訪談中指出,Movidius Neural Compute Stick對於開發人員幾乎沒有什麼不同。「對於開發人員來說,這並沒什麼不起。典型的PC就能產生至少100GFLOPS,特別是如果它還內建繪圖卡,直接在PC上進行開發會更好。對於需要較低功率處理器的嵌入式系統,高通Snapdragon 835提供超過250GOPS的效能,對於大多數的推理應用來說都夠了。」
(來源:Movidius)
不過,Movidius的El-Ouazzane並不贊同這樣的看法。
首先,Movidius Neural Compute Stick利用USB讓神經網路更易於存取,有利於製造商或程式增補人員用於開發深度神經網路原型或進行調整。
其次是電源效率的問題。El-Ouazzane指出,Movidius的解決方案可讓神經網路在邊緣運算時旳功耗小於2瓦(W)。
然後,還有成本的考量。El-Ouazzane說:「我認為這是一個殺手級因素。Movidius Neural Compute Stick要價79美元,可望讓神經網路的發展變得『超級普遍』。」
他預期開發人員能使用Movidius的神經運算平台(Neural Compute Platform)應用程式介面(API),「將經過訓練的Caffe、前饋卷積神經網路(CNN)輸入工具套件中,並進行配置,然後編譯成一種可用於嵌入式部署的調整版本。」
以AI為導向的嵌入式應用?
隨著許多嵌入式系開始變得「智慧」且「自主」,El-Ouazzane預計以AI為導向的嵌入式系統即將爆發。
但是,不久的將來即將出現什麼樣的AI裝置?
McGregor預測,「我認為在2025年以前,每個人所接觸的每一款新系統/平台都將具有某種程度的AI元素,它可能內建於裝置本身,或存在於網路、雲端,或是分散在其間。」
他補充說:「它可能就像是使用者介面或應用一樣簡單,或者是像虛擬助理或自主控制般複雜的某種裝。目前已經有許多應用已經導入了AI,包括虛擬助理、搜尋引擎、財務建模、與文章寫作.....等等。」
他說:「而在裝置上,AI將因各種不同的原因而持續成長,特別是資料的安全、即時互動/處理以及頻寬限制等。然而,在裝置上進行訓練才是真正的挑戰,最終可能需要新的處理模型。」
英特爾想掌握一切…
當然,Movidus現在是英特爾的子公司,但其目標並不僅限於有更多嵌入式系統在邊緣執行神經網路。El-Ouazzane將其產品發佈架構在英特爾端對端AI產品組合的更大脈絡之下。
他指出,英特爾擁有廣泛的AI產品組合,並為其提供一整套完整的開發工具和資源。
「無論是在英特爾Nervana雲端上訓練AI神經網路、最佳化新興的工作負載(如AI、、VR和AR),以及使用英特爾Xeon Scalable處理器實現自動駕駛,或是以Movidius視覺處理器技術將AI導入邊緣,」英特爾宣稱該公司已為下一代AI驅動的產品和服務提供了全面的AI產品組合、工具、訓練和部署選擇。
然而,Movidus是否真的能在即將變得無所不在的AI嵌入式系統中成為其關鍵參考架構,目前還不而知。
Tirias Research的McGregor儘管認同Neural Compute Stick是「一款可在新設計中快速評估AI模型訓練效能的有利工具,」但他仍指出,「設計人員仍然必須在最後的系統設計階段執行類測試,特別是如果他們並未使用Moviduis的晶片和/或Caffe架構。」
The Linley Group的Gwennap還認為,Movidius無法達到其目標——實現在邊緣運算神經網路的嵌入式系統設計。
區隔推理引擎與訓練
Gwennap指出,「值得注意的是,新的AI時代並不會有『參考架構』。諸如TensorFlow和Caffe等架構將會把軟體(神經網路)和硬體分開來。」他補充說:「映射到Myriad VPU的網路可以輕易地映射到Snapdragon或其他處理器上。因此,AI處理器將在性能和效率的基礎上進行競爭,而不是鎖定於指令集。」
同樣地,他也不認同「同樣的工具適用於訓練和推理」的論點。Gwennap說:「一旦網路開始接受訓練,就可以輕鬆地部署在支持主流架構的任何平台上。而且,主流的架構都是開放源碼,以避免單一家廠商鎖定。」。
El-Ouazzane看好AI處理器抽取底層硬體的能力,它讓設計者可將推論與練訓分離開來。但他重申先前的觀點,從長遠來看,能夠使用相同的工具進行神經網路的訓練和部署,才有助於系統設計人員。
他以Movidius的開發藍圖為例表示,未來三年,深度學習的效能預計將會增加50倍。「為了在不增加功耗的情況下實現這一目標,我們可以在訓練方面設計許多架構技巧。」El-Ouazzane補充說:「當你在斟酌這些技巧時,讓學習和推理方面置於同一平台是至關重要的。」
編譯:Susan Hong
(參考原文:Neural Accelerator Battle Begins,by Junko Yoshida)