在这里,我们看一下转移学习,调整预定义的CNN以及使用模型生成器扩展来训练我们的模型以解决硬币识别问题。

这次我们将使用ML.NET而不是Keras.NET。为什么不使用Keras.NET?尽管Keras.NET非常简单易学,并且虽然确实包含了前面提到的预定义模型,但其简单性仍使我们无法自定义CNN体系结构以适应我们的问题。

ML.NET是一个免费的Microsoft机器学习框架,旨在使用C#和F#进行开发。最重要的是,我们可以将ML.NET与Azure结合使用,这意味着我们可以使用基于云的基础结构来训练我们的模型。让多个虚拟机以分布式方式运行我们的代码可以使训练更快、更准确。

为什么预先训练的CNN如此有价值?因为有人花费大量时间和资源来训练他们,所以我们可以利用这一点。我们可以重用嵌入在为网络计算的权重中的知识,并将其重新应用于类似的问题。也就是说,它们不仅可以应用于CNN最初要解决的问题,而且还可以应用于更多问题。此技术称为转移学习。它可以为我们节省大量的训练时间,并且可以大大改善获得的结果。

在转移学习中,我们不像以前那样从头开始。取而代之的是,我们从具有预定义体系结构的已知模型开始,并在首次请求模型时下载计算出的权重。流行的模型包括Inception,ResNet和VGG16等。

要针对我们的问题调整预定义的CNN,我们必须做三件事。首先,我们必须将输入层的形状更改为数据集中图像的尺寸。其次,我们需要至少更改输出层,以便模型具有与数据集相同数量的类。第三,我们必须调整模型以使其知道我们对训练预定义模型的层次不感兴趣。完成这些步骤后,我们可以将模型训练或拟合到给定的数据集。

让我们开始吧。在Visual Studio中,转到“扩展 >“管理扩展然后浏览ML.NET Model Builder

我们还需要安装Nuget软件包ML.NET。

为了训练硬币识别问题的模型,我们将使用“模型构建器”扩展。

使用此工具,我们可以轻松地设置数据集并训练模型,顺便说一下,添加到模型构建器的Auto ML功能将自动选择该数据集。自动化机器学习(Auto ML)是自动化耗时的机器学习模型开发任务。因此,“模型构建器”将为我们简化准备数据集的过程,以及选择预训练模型和所有相关参数的过程。关于选择的预训练模型的一件事是,仅最后一层将被重新训练;所有其他人保持权重。

对于数据集,唯一的要求是将其组织在文件夹中,使得文件夹名称是其中所有图像的类或标签。当我们到目前为止使用的硬币数据集输入到模型构建器中时,AutoML引擎选择ResNet作为经过预训练的体系结构来解决我们的问题。

训练完成后,我们可以预测新的输入数据,甚至可以获取与用于预测的模型相对应的代码。

只需要很少的工作,我们就可以在几乎没有该领域任何先验知识的情况下进行ML,只需通过UI进行所有操作,最后选择,单击并获取代码即可。

至此,我们完成了使用C#进行硬币识别的系列文章。我希望你喜欢它!

C#中的深度学习:ML.NET中具有预训练模型的硬币识别相关推荐

  1. 【深度学习】keras框架使用预训练模型进行Finetune的应用

    文章目录 1 概述 2 Keras 3 VGG16 (VGG16) 4 MobileNetV2 (MobileNetV2) 5 盗版ResNetV2 (InceptionResNetV2) 6 盗梦空 ...

  2. 手把手写深度学习(16):用CILP预训练模型搭建图文检索系统/以图搜图/关键词检索系统

    前言:CLIP is all yuo need!CLIP在text-to-image.图像检索.视频理解.图像编辑.自监督学习等领域都展示了极强的统治力,这篇博客手把手教大家搭建自己的图文检索系统,能 ...

  3. 如何熟练掌握MATLAB机器学习、深度学习在图像中的处理

    近年来,随着无人驾驶汽车.医学影像智慧辅助诊疗.ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮.尤其是在计算机视觉和图像处理领域,各种颠覆性的成果应运而生. 阅读全文点击:< ...

  4. 深度学习在推荐系统中的应用

    作者丨gongyouliu 编辑丨zandy 这是作者的第20篇文章,约2.4万字,阅读需180分钟 2016年DeepMind开发的AlphaGo在围棋对决中战胜了韩国九段选手李世石,一时成为轰动全 ...

  5. 综述 | 深度学习在fNIRS中的应用

    导读 意义:光学神经影像学已成为一种成熟的临床和研究工具,用于监测大脑皮层的激活.值得注意的是,功能性近红外光谱(fNIRS)研究的结果在很大程度上取决于所采用的数据处理流程和分类模型.最近,深度学习 ...

  6. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:09 NLU和NLG问题中的深度学习

    09 NLU和NLG问题中的深度学习 9.1 人工智能概览 9.1.1 人工智能的基础 9.1.2 人工智能的阶段 9.1.3 人工智能的种类 9.1.4 人工智能的目标和应用 9.2 NLU和NLG ...

  7. AI:人工智能领域之AI基础概念术语之机器学习、深度学习、数据挖掘中常见关键词、参数等5000多个单词中英文对照(绝对干货)

    AI:人工智能领域之AI基础概念术语之机器学习.深度学习.数据挖掘中常见关键词.参数等5000多个单词中英文对照(绝对干货) 导读      本博主基本收集了网上所有有关于ML.DL的中文解释词汇,机 ...

  8. 深度学习在计算机视觉中的应用长篇综述

    深度学习在计算机视觉中的应用长篇综述 前言 2012年ImageNet比赛,使深度学习在计算机视觉领域在全世界名声大震,由此人工智能的全球大爆发.第一个研究CNN的专家使Yann LeCun,现就职于 ...

  9. 在浏览器中进行深度学习:TensorFlow.js (四)用基本模型对MNIST数据进行识别

    2019独角兽企业重金招聘Python工程师标准>>> 在了解了TensorflowJS的一些基本模型的后,大家会问,这究竟有什么用呢?我们就用深度学习中被广泛使用的MINST数据集 ...

最新文章

  1. HDFS小文件问题及解决方案
  2. ArcGIS案例学习1_2
  3. 《神策军》第三期来袭!
  4. STM32F4 HAL库开发 -- SPI Flash
  5. python通过hive transform处理数据
  6. C# 使用 CancellationTokenSource 终止线程
  7. GitHub上Java的Bloom Bloom实现
  8. Matlab矩阵的拼接
  9. 怎样去掉a标签的蓝框
  10. 华为云ModelArts图深度学习,学习知识还能考取微认证
  11. python中的多线程求值串行和并行_python多线程和多进程——python并行编程实验
  12. 绝对路径、相对路径详解
  13. STVP下载STM8单片机提示Verify error at address 0xxxxx的问题解决
  14. Python-docx python处理Word文档之加下划线
  15. 《金山词霸2009 牛津版》插件工具加载
  16. git提交,安装配置 commitizen cz-conventional-emoji $git cz代替$git commit
  17. Adobe相关(Windows平台)
  18. 两直线平行交叉相乘_向量平行公式和垂直公式
  19. 事业单位计算机技术岗工资,事业单位管理岗和技术岗工资区别,不得不知!
  20. catia制作物料明细_一种基于CATIA的国标标准物料清单的生成方法与流程

热门文章

  1. MySQL 集群 3副本,Kubernetes经典实践——运行MySQL多副本集群
  2. python进阶训练营百度网盘_(在线观看)【完结】私域流量实战训练营(百度网盘分享下载)...
  3. 数据分析常用的python包_量化投资数据分析之常用的python包(附代码)
  4. mysql通过日志恢复数据_mysql通过binlog日志来恢复数据
  5. mysql setnull_1、Mysql无法创建外键的原因 2、MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用...
  6. 个性潮流的设计PSD分层模板
  7. 看完这些美食海报,你是不是又有灵感了?
  8. UI网页头部设计模板素材|这么多讲究,你知道吗?
  9. UI设计实例|界面设计中,版式实战运用以及设计思路
  10. 哈希函数(Hash Functions - 散列函数)的基本介绍(SHA-2,SHA-256,MD-5,Scrypt,BCrypt等)