日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ML.NET 1.4 发布,跨平台机器学习框架

發布時間:2023/12/4 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ML.NET 1.4 发布,跨平台机器学习框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ML.NET 是一個面向 .NET 開發人員的開源和跨平臺機器學習框架,它包括 Model Builder 和 CLI(命令行接口),讓使用自動機器學習(AutoML)構建自定義機器學習模型變得更容易。1.4 版本已經發布了,以下是本次更新的一些亮點:

基于 GPU 支持的深度神經網絡圖像分類(GA)

在 .NET 中實現完整的 DNN 模型重新訓練和傳輸學習。例如,你可以通過使用自己的圖像從 ML.NET API 中本地培訓 TensorFlow 模型來創建自己的自定義圖像分類模型。ML.NET 的優點是使用了一個非常簡單的高級 API,只需使用幾行 C# 代碼就可以定義和訓練圖像分類模型。而在使用低級別 Tensorflow.NET 庫時,相同的操作則需要數百行代碼。

Tensorflow.NET 庫是一個開源的低級別 API 庫,該庫是開源 SciSharp 堆棧庫的一部分,它為 TensorFlow 提供 .NET 標準綁定。下面的堆棧圖顯示了 ML.NET 是如何在 DNN 培訓中實現這些新特性的:

圖像分類功能最初是在 v1.4 預覽版中引入的,在 GA 版本中添加了一下新功能:

  • 在 Windows 和 Linux 上支持 GPU,GPU 支持是基于 NVIDIA CUDA

  • 內存圖像預測:用內存中的圖像而不是文件路徑來做預測

  • 當達到最佳精度時,它將停止訓練,并且不會隨著更多的訓練周期(EIPCHS)而進一步提高

  • 在圖像分類器中添加其他支持的 DNN 體系結構:Inception V3、ResNet V2 101、Resnet V2 50?和 Mobilenet V2

下面的 API 代碼示例展示了如何輕松地訓練一個新的 TensorFlow 模型:

// Define model's pipeline with ImageClassification defaults (simplest way) var pipeline = mlContext.MulticlassClassification.Trainers.ImageClassification(featureColumnName: "Image",labelColumnName: "LabelAsKey",validationSet: testDataView).Append(mlContext.Transforms.Conversion.MapKeyToValue(outputColumnName: "PredictedLabel",inputColumnName: "PredictedLabel"));// Train the model ITransformer trainedModel = pipeline.Fit(trainDataView);

Database Loader(GA)

數據庫加載器允許將數據庫中的數據加載到 IDataView 中,因此可以直接針對關系數據庫進行模型培訓。此加載程序支持 .NET Core 或 .NET Framework 中 System.Data 支持的任何關系數據庫提供程序,這意味著可以使用任何 RDBMS,如 SQL Server、Azure SQL、Oracle、SQLite、PostgreSQL、MySQL、Advanced 等。

這個新的 Database Loader 提供更加簡化的代碼實現,因為它從數據庫讀取數據并通過 IDataView 提供數據的方式是由 ML.NET 框架提供的,所以只需要指定數據庫連接字符串、DataSet 列的 SQL 語句以及加載數據時要使用的數據類。

下面是示例代碼,說明如何輕松地配置代碼,以便將數據直接從關系數據庫加載到 IDataView 中:

//Lines of code for loading data from a database into an IDataView for a later model training //... string connectionString = @"Data Source=YOUR_SERVER;Initial Catalog= YOUR_DATABASE;Integrated Security=True";string commandText = "SELECT * from SentimentDataset";DatabaseLoader loader = mlContext.Data.CreateDatabaseLoader(); DbProviderFactory providerFactory = DbProviderFactories.GetFactory("System.Data.SqlClient"); DatabaseSource dbSource = new DatabaseSource(providerFactory, connectionString, commandText);IDataView trainingDataView = loader.Load(dbSource);// ML.NET model training code using the training IDataView //...public class SentimentData {public string FeedbackText;public string Label; }

當使用數據庫 ML.NET 進行培訓時也支持數據流,這意味著整個數據庫不需要裝入內存,它將根據需要從數據庫中讀取,從而可以處理非常大的數據庫(即 50 GB、100 GB 或更大的數據庫)。

可伸縮部署的預測引擎庫(GA)

當將 ML 模型部署到多線程和可伸縮的 .NET Core Web 應用程序和服務(例如 ASP .NET Core Web 應用程序、Web API 或 Azure 函數)中時,推薦使用PredictionEnginePool,不針對每個請求直接創建 PredictionEngine 對象,PredictionEnginePool 是 Microsoft.Extensions.MLNuGet 包的一部分。

增強?.NET Core 3.0(GA)

在 Jupyter notebooks 中使用 ML.NET

現在可以在 Jupyter notebooks 中運行任何 .NET 代碼(C#/F#),因此也可以在其中運行 ML.NET 代碼。

查看 DataView 中加載的類型數據:

繪制數據分布:

培訓 ML.NET 模型并記錄其培訓時間:

可在 notebook 中看到模型的質量指標,并將其記錄下來供以后審查:

Visua lStudio 中 Model Builder 的更新

Visual Studio 的 Model Builder Tool 已經更新,使用最新的 ML.NET GA 版本(1.4 GA),此外,它還包括新特性,例如 Visual Studio 中的可視化體驗,用于本地圖像分類模型訓練。

關于 ML.NET 的更多詳情,請見發布說明:

https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-4-global-availability-machine-learning-for-net/

總結

以上是生活随笔為你收集整理的ML.NET 1.4 发布,跨平台机器学习框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。