在C#中从Keras.NET开始-训练您的第一个模型

本文介绍了如何在 .NET Core 应用中利用 Keras.NET 和 Zalandos Fashion-MNIST 数据集训练一个简单的机器学习模型。文章详细展示了安装依赖、数据预处理以及模型训练的步骤,提供了一个入门级的 C# 机器学习实践。
摘要由CSDN通过智能技术生成

在本文中,我想展示一个示例,使用Keras.NET和Zalandos Fashion-mnist制作一个简单的.NET-Core应用程序
本文是有关如何使用Keras.NET训练第一个模型的简短介绍。
介绍
由于机器学习变得非常流行,因此使用Keras和/或后端Tensorflow这样的开源SDK,Python语言也再次流行起来(与预测相反,Python将在未来五年内消失)。作为.NET环境中的研究工程师,我在这里使用Python面临很多问题,而我的主要重点是C#。当然,您可以以某种方式将Python代码嵌入到您的应用程序中(即,在.NET应用程序中运行Python脚本),但这并不能使其变得更好。

我认为,其他解决方案将使用IronPython(一种可以直接运行Python代码的SDK),但是:

它仍在使用Python 2.7(在2020年终止支持),并且对Python 3的支持发音为“请勿使用!”,好吧…
它不支持numpy之类的许多其他软件包,这对于进行机器学习是必不可少的
解决所有这些问题非常困难…只是不要将其用于此类目的。
因此,我开始寻找新的解决方案,以及如何避免在.NET Core应用程序中使用其他Python环境(在应用程序启动时必须额外调用它们),并了解Keras.NET( https:// github。 com / SciSharp / Keras.NET)。明确地说,我不在乎SDK是否使用Python嵌入式,但是我不想用Python编写我的机器学习原型,所以这是改变游戏规则的地方。

背景
Keras.NET的文档非常简短,如果您需要进一步的知识,它们会链接到原始Keras文档。这对于理解此框架的工作方式非常有用。但是要弄清楚该SDK如何在C#中工作却很痛苦。

这里是文档链接:https : //scisharp.github.io/Keras.NET/
请查看先决条件(在此前提下,您还必须安装Python)。

在这里您将找到API文档:https : //scisharp.github.io/Keras.NET/api/index.html

要了解此处发生的情况,您需要了解Keras的工作方式,密集层,历元等的用途。

使用代码
Arnaldo P.Castaño的文章启发了我展示使用现有数据集的第二个示例以及如何使用Keras.NET进行训练。因此,这是关于使用Keras.NET与使用Keras(在Python中)看到一些区别的,也许有人会发现这非常有用。

首先,您将需要Nuget Keras.NET。在Visual Studio中使用程序包管理器,其过程如下:

隐藏 复制代码
PM> Install-Package Keras.NET -Version 3.8.4.4
除此之外,您还需要使用Windows CLI或Powershell中的pip安装程序来安装Keras和Tensorflow for Python:

隐藏 复制代码
pip install keras

pip install tensorflow
它必须在Windows-CLI中看起来像:

隐藏 复制代码
C:\Users\YOURNAME>pip install keras
如果您对pip安装程序有疑问。请检查是否已将Python设置为系统环境。安装屏幕底部有一个复选框,称为“将Python添加到PATH”,这非常重要。

如果这样做没有帮助,您可能必须自己设置路径(互联网上有“操作方法”,如何解决pip的提示,一旦解决了此问题,您就可以确定Python设置正确) 。

最后,您将需要培训和测试集:https : //github.com/zalandoresearch/fashion-mnist#get-the-data

首先,我将数据存储在本地并解压缩,因为我不想为解压缩而创建其他功能(这实际上并不难实现,但我想在此重点关注)。这只是一个数据。使用下面的代码(并调用openDatas函数,您将需要解压缩该文件,否则该函数将无法读取数据。请放置四个数据(2x图像,2x标签…训练并测试)。

其次,我在API-Doc中指出,已经实现了直接加载数据的功能,请参见:https://www.xiaoyuani.com/Keras.NET/api/Keras.Datasets.FashionMNIST.html

所以我们开始:为了进一步的目的,运行模型的第一次训练:

我的.NET-Core的入口点非常简单。我KerasClass为培训做了一个课程(),只需从Main函数调用它们即可:

隐藏 复制代码

using System;

namespace Keras.net_and_fashion_mnist
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
   
            KerasClass keras = new KerasClass()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值