ML NET 是一個(gè)跨平臺(tái)框架,可以允許 NET 開發(fā)人員開發(fā)專屬模型,并在他們的應(yīng)用程序中注入定制的機(jī)器學(xué)習(xí)能力,開發(fā)人員不需要具備開發(fā)
ML.NET 是一個(gè)跨平臺(tái)框架,可以允許 .NET 開發(fā)人員開發(fā)專屬模型,并在他們的應(yīng)用程序中注入定制的機(jī)器學(xué)習(xí)能力,開發(fā)人員不需要具備開發(fā)或調(diào)節(jié)機(jī)器學(xué)習(xí)模型的專業(yè)知識(shí)。
ML.NET 由微軟研究院研發(fā),在過(guò)去的十年里發(fā)展成為一個(gè)重要的框架,它在微軟的許多產(chǎn)品團(tuán)隊(duì)中都有使用,比如 Windows、必應(yīng)、Azure 等等。
在這次發(fā)布的預(yù)覽版中,ML.NET 支持分類(例如文本分類、情感分析)、回歸(例如預(yù)測(cè)、價(jià)格預(yù)估)等機(jī)器學(xué)習(xí)任務(wù)。
除了宣布支持以上任務(wù),微軟一并發(fā)布了用于訓(xùn)練模型、進(jìn)行預(yù)測(cè)的 .NET API 的初稿,此外還有這一框架的核心組成部分,比如學(xué)習(xí)算法、轉(zhuǎn)換和核心機(jī)器學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)。
大家請(qǐng)注意,ML.NET 是一個(gè)框架,這意味著它可以擴(kuò)展,可以將 TensorFlow、Accord.NET 和 CNTK 這樣的流行機(jī)器學(xué)習(xí)庫(kù)添加進(jìn)去。在 ML.NET 開源生態(tài)中,微軟致力于讓它的內(nèi)部功能更加完善,ML.NET 可以為 .NET 開發(fā)者帶來(lái)更優(yōu)化的機(jī)器學(xué)習(xí)開發(fā)體驗(yàn)。
大家可以加入 ML.NET 開源社群,讓這一工具在未來(lái)迎來(lái)更迅猛的發(fā)展。
隨著不斷發(fā)展,ML.NET 將會(huì)不斷增加對(duì)流行深度學(xué)習(xí)庫(kù)如 TensorFlow、Caffe2、CNTK 和一般深度學(xué)習(xí)庫(kù)如 Accord.NET 的支持,其功能可以擴(kuò)展到其他的機(jī)器學(xué)習(xí)場(chǎng)景,如推薦系統(tǒng)、異常檢測(cè)和其他深度學(xué)習(xí)方法。
ML.NET 還增加了 Azure Machine Learning 和 Cognitive Service 的一些已有經(jīng)驗(yàn),它允許使用代碼優(yōu)先的方法,支持本地應(yīng)用程序部署,讓用戶能構(gòu)建自己的模型。
下面是關(guān)于 ML.NET 的更多細(xì)節(jié):
ML.NET Core Components
ML.NET 是作為 .NET Foundation 的一部分推出的,repo 中包含了訓(xùn)練和消耗模型的 .NET C# API,還有各種各樣的 transform,以及許多流行的機(jī)器學(xué)習(xí)任務(wù),如回歸和分類。
ML.NET 的目標(biāo)是提供 E2E 工作流,通過(guò)預(yù)處理、特征工程、建模、評(píng)估和操作,將深度學(xué)習(xí)能力添加進(jìn) .NET 應(yīng)用程序。
下面的表格是 ML.NET 0.1 所發(fā)布的完整組件列表。
微軟表示,他們的目標(biāo)是使 ML.NET 的 API 變得通用,這樣就可以通過(guò)一個(gè)共享 API 使用 CNTK、Accord.NET、TensorFlow 等框架和其他庫(kù)。