五月婷婷欧美视频_少女频道在线观看高清_欧美日韩视频一区二区三区_7777精品伊久久久大香线蕉语言

首頁 > 機器人資訊 > 微軟Facebook聯手發布AI生態系統,推出開放神經網絡交換格式

微軟Facebook聯手發布AI生態系統,推出開放神經網絡交換格式

日期:2019-12-27   人氣:  來源:互聯網
簡介:微軟Facebook聯手發布AI生態系統,推出開放神經網絡交換格式 微軟Facebook聯手發布AI生態系統,推出OpenNeuralNetworkExchange(ONNX,開放神經網絡交換)格式,這是一個用于表示深度學習模型的標準,可使模型在不同框架之間進行轉移。ONNX是邁向開放生態……

微軟Facebook聯手發布AI生態系統,推出開放神經網絡交換格式

微軟Facebook聯手發布AI生態系統,推出OpenNeuralNetworkExchange(ONNX,開放神經網絡交換)格式,這是一個用于表示深度學習模型的標準,可使模型在不同框架之間進行轉移。ONNX是邁向開放生態系統的第一步,AI開發人員可以輕松地在最先進的工具之間轉換,并選擇最適合他們的組合。但是,現在系統支持的框架只有Caffe2,PyTorch和CognitiveToolkit,谷歌的TensorFlow并沒有被包含在內。在TensorFlow的市場份額迅猛增長的當下,兩家企業的聯手,似乎有特別的意味。

Facebook和微軟宣布,推出OpenNeuralNetworkExchange(ONNX,開放神經網絡交換)格式,庫卡機器人何服電機維修,這是一個用于表示深度學習模型的標準,可使模型在不同框架之間進行轉移。ONNX是邁向開放生態系統的第一步,AI開發人員可以輕松地在最先進的工具之間轉換,并選擇最適合他們的組合。

以下是Facebook、微軟官方博客的介紹:

在開發學習模型時,工程師和研究人員有許多AI框架可以選擇。在項目開始時,開發人員必須選擇對應一個框架的特征(features)。很多時候,在研發過程中進行實驗時選擇的feature與生產所需的feature是不一致的。許多組織都沒有很好的方法來消除這些操作模式之間的差距,只有采取一系列創造性的解決辦法來應對,例如要求研究人員在生產系統中工作或人工翻譯模型。

Facebook與微軟一起開發了ONNX,以彌合這一差距,讓AI開發人員可以選擇符合項目當前階段的框架,并隨著項目的發展輕松切換框架。Caffe2,PyTorch和CognitiveToolkit將在9月份發布對ONNX的支持,這將允許在其中一個框架訓練的模型導出到另一個框架來進行推理。我們邀請社區加入這一努力,并在其生態系統中支持ONNX。實現不同框架之間的相互操作性,簡化從研究到生產的過程,將有助于提高AI社區創新的速度。

ONNX在Facebook內部使用

ONNX是Facebook深度學習方法的重要組成部分。在Facebook的AI團隊(FAIR和AML)中,我們不斷嘗試推動AI的前沿研究,開發更好的學習算法。當我們得到一個突破時,我們希望盡快在應用中提供更好的技術。通過ONNX,我們專注于將AI研究和產品實現更緊密地結合在一起,從而更快地進行創新和部署。

嘗試新模型的人們,特別是研究人員,希望在編寫神經網絡時擁有最大的靈活性和表現力從動態神經網絡到支持梯度漸變(gradientsofgradients),同時保持基本的ConvNet性能。研究人員也想實現快速迭代,這意味著他們需要優秀的交互式開發和調試工具。PyTorch旨在突破研究框架的局限,使研究人員免受平臺的限制,讓他們能夠比以前更容易地表達想法。

相反,產品流程每天都需要對大量新的數據進行訓練和推理,同時保持模型大部分不變。仔細優化產品的特定模型的代碼,例如通過量化和仔細編寫人工調整的代碼(hand-tunedcode)之類的技巧節省資源。Caffe2已經在產品、移動和極端考慮性能的情況構建起來。Caffe2的內部靈活而且高度優化,所以我們可以利用技巧將更大更好的模型部署到性能不足的硬件中。

通過ONNX,我們可以在這兩個方面獲得最優。我們現在可以從PyTorch導出許多常見神經網絡的模型,并將它們部署在Caffe2上。這是將最新的研究成果快速推向生產的第一步。在接下來的幾個月中,我們將加強ONNX,并對Caffe2和PyTorch進行改進,使其能夠更深入地互通。

怎么運行

為了實現ONNX支持,我們必須對PyTorch和Caffe2進行更改,并且在框架之間統一運算符。在Caffe2中,這個過程類似于添加一個翻譯器,因為Caffe2已經有一個內置的靜態圖。在PyTorch中,神經網絡是被定義為程序而不是顯式圖,因此這帶來了更大的挑戰。為了從程序中提取圖,我們開發了一個跟蹤器,將運行時程序執行的操作記錄下來。跟蹤程序消除了復雜性,并使其更容易轉換為圖表示。

要了解它是如何工作的,看以下代碼:

x=y*2

ifsomeComplicatedFunction():z=x+y

else:z=x*y

要直接導出此代碼,ONNX將不得不支持conditionals和某些復雜函數someComplicatedFunction();實際上成了通用編程語言。然而,在許多深度學習模型中,someComplicatedFunction()的結果在推理過程中總是相同的。例如,在PyTorch條件中,通常是對輸入張量的大小或尺寸進行的一些計算。在這些情況下,通過代碼的單一跟蹤將會更簡單,并且可以輕松地在ONNX中表示為:

#someComplicatedFunction()==True

x=y*2z=x+y

目前,我們的tracer能與許多常見的神經網絡配合使用,但PyTorch中一些更先進的程序,比如有動態流控制(dynamicflowcontrol)的程序還不行。隨著時間的推移,我們將完善ONNX和tracer來支持這些程序,讓開發人員可以充分利用PyTorch的靈活性與Caffe2的高性能強大部署功能。

微軟:ONNX表征具有框架互操作性和共享優化兩大優點

在Facebook發布博客的同時,微軟也發布了題為《微軟和Facebook為AI模型的互操作性構建開放生態系統》的博客。在博客中,微軟表示:

微軟給大家做出的承諾是人人有機會更方便,更有價值。我們提供各種平臺和工具來促進這一點,包括我們的認知工具包,一個構建深層神經網絡的開源框架。我們還與其他分享我們觀點的組織合作,幫助AI社區。

今天,我們高興地宣布,工業機器人維修,微軟和Facebook一起推出OpenNeuralNetworkExchange(ONNX,開放神經網絡交換)格式。ONNX為AI框架生態系統中的互操作性和創新提供了共享的模型表征。CognitiveToolkit,Caffe2和PyTorch都將支持ONNX。微軟和Facebook共同開發了ONNX這一開源項目,并希望社區能夠幫助其不斷進化。

什么是ONNX表征?

CognitiveToolkit和其他框架提供了使開發人員更容易構建和運行表征神經網絡的計算圖的界面。雖然提供的功能類似,但是今天的每個框架都有自己表征這些圖的格式。ONNX表征有以下主要優點:

1.框架互操作性

開發人員可以更輕松地在框架間轉換,并為手頭的任務選擇最佳工具。每個框架都針對具體特性進行了優化,如快速訓練,支持靈活的網絡架構,在移動端進行推理等等。許多時候,研發過程中最重要的特性與生產環節最重要的特性是不同的。這導致開發人員在框架之間進行模型轉換時,會因框架使用不正確或明顯延遲而使得效率降低。使用ONNX表征的框架簡化了這一點,www.twshmhelmet.com,使得開發人員更加靈活。

2.共享優化

硬件供應商和其他改進神經網絡性能的優化可以通過定位ONNX表征來同時影響多個框架。優化經常需要被分別整合進入每個框架,這一過程很費時間。ONNX表征使得優化更容易實現,從而覆蓋更多開發人員。

技術總結

ONNX提供了可擴展計算圖模型的定義,以及內置operators和標準數據類型的定義。起初我們專注于推理(評價)所需的能力。

每個計算數據流圖被構造為形成非循環圖的節點列表。節點具有一個或多個輸入和一個或多個輸出。每個節點是對operators的調用。

可用性

免責聲明:本網部分文章和信息來源于互聯網,本網轉載出于傳遞更多信息和學習之目的。如轉載稿涉及版權等問題,請立即聯系網站所有人,我們會予以更改或刪除相關文章,保證您的權利。
主站蜘蛛池模板: 壤塘县| 罗定市| 镇远县| 四子王旗| 汉中市| 黔南| 天长市| 台中市| 吕梁市| 商城县| 读书| 闻喜县| 娄烦县| 本溪市| 乌鲁木齐县| 正镶白旗| 宁强县| 望城县| 闸北区| 武义县| 巴林右旗| 漯河市| 九龙坡区| 句容市| 紫阳县| 晴隆县| 栾川县| 潢川县| 连江县| 昌乐县| 涿鹿县| 穆棱市| 裕民县| 马边| 呼图壁县| 长子县| 勃利县| 慈利县| 盐津县| 老河口市| 遂川县|