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