曾经学习过一段时间ML.NET的知识,ML.NET是微软提供的一套机器学习框架,相对于其他的一些机器学习框架,ML.NET侧重于消费现有的网络模型,不太好自定义自己的网络模型,底层实现也做了高度封装。

最近想从底层学习一下机器学习的相关知识,经过初步筛选,计划定位于python + pytorch这个方向入手,经过一段时间的学习,我发现由于对python语言不太熟悉,导致实践起来比较困难,先不说机器学习相关的代码,光周边代码就搞得焦头烂额了。想要下决心好好修炼一下python必然不是一朝一夕的事情,所以考虑是否学一个采用C#的机器学习框架,这样就可以专心研究目标代码,配套服务就可以轻松搞定了。

经搜索发现了SciSharp-Stack这个项目,一开始我定位于Torch.Net,最终选择了TensorFlow.NET这个框架。选择TensorFlow.NET主要是因为如下几个原因:

  • 示例比较丰富,第一次下载、编译、运行都很顺利。(如果开源项目提供的HelloWorld项目跑不起来的话,就没有信心使用了)
  • 代码一直在更新,社区比较活跃,Issue上问问题会有人回答;
  • 架构比较合理,通过.NET对google提供的原生动态链接库进行封装,和我们使用MySQL.Data的架构类似,C#开发人员很熟悉这种架构;
  • 代码风格接近python+tensorflow的实现方式,便于参考网络上大量python的例程。

这个系列的文章就是我这段时间学习TensorFlow.Net的心得体会,整个系列的文章目录如下:

  1. TensorFlow.NET机器学习入门【1】开发环境与类型简介
  2. TensorFlow.NET机器学习入门【2】线性回归
  3. TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归
  4. TensorFlow.NET机器学习入门【4】采用神经网络处理分类问题
  5. TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)
  6. TensorFlow.NET机器学习入门【6】采用神经网络处理Fashion-MNIST
  7. TensorFlow.NET机器学习入门【7】采用卷积神经网络(CNN)处理Fashion-MNIST
  8. TensorFlow.NET机器学习入门【8】生成对抗网络GAN
  9. TensorFlow.NET机器学习入门【9】采用GPU进行学习

由于作者本人对于机器学习的认识还处于入门阶段,写作过程中难免存在纰漏,如果您发现有什么错误的地方,请及时指出来。

【参考资料】

TensorFlow.NET

SciSharp-Stack-Examples

《深度学习入门:基于Python的理论与实践(斋藤康毅)》

TensorFlow.NET机器学习入门【0】前言与目录的更多相关文章

  1. TensorFlow.NET机器学习入门【1】开发环境与类型简介

    项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorF ...

  2. TensorFlow.NET机器学习入门【2】线性回归

    回归分析用于分析输入变量和输出变量之间的一种关系,其中线性回归是最简单的一种. 设: Y=wX+b,现已知一组X(输入)和Y(输出)的值,要求出w和b的值. 举个例子:快年底了,销售部门要发年终奖了, ...

  3. TensorFlow.NET机器学习入门【3】采用神经网络实现非线性回归

    上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量 ...

  4. TensorFlow.NET机器学习入门【4】采用神经网络处理分类问题

    上一篇文章我们介绍了通过神经网络来处理一个非线性回归的问题,这次我们将采用神经网络来处理一个多元分类的问题. 这次我们解决这样一个问题:输入一个人的身高和体重的数据,程序判断出这个人的身材状况,一共三 ...

  5. TensorFlow.NET机器学习入门【5】采用神经网络实现手写数字识别(MNIST)

    从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png. ...

  6. TensorFlow.NET机器学习入门【6】采用神经网络处理Fashion-MNIST

    "如果一个算法在MNIST上不work,那么它就根本没法用:而如果它在MNIST上work,它在其他数据上也可能不work". -- 马克吐温 上一篇文章我们实现了一个MNIST手 ...

  7. TensorFlow.NET机器学习入门【7】采用卷积神经网络(CNN)处理Fashion-MNIST

    本文将介绍如何采用卷积神经网络(CNN)来处理Fashion-MNIST数据集. 程序流程如下: 1.准备样本数据 2.构建卷积神经网络模型 3.网络学习(训练) 4.消费.测试 除了网络模型的构建, ...

  8. TensorFlow.NET机器学习入门【8】采用GPU进行学习

    随着网络越来约复杂,训练难度越来越大,有条件的可以采用GPU进行学习.本文介绍如何在GPU环境下使用TensorFlow.NET. TensorFlow.NET使用GPU非常的简单,代码不用做任何修改 ...

  9. 45、Docker 加 tensorflow的机器学习入门初步

    [1]最近领导天天在群里发一些机器学习的链接,搞得好像我们真的要搞机器学习似的,吃瓜群众感觉好神奇呀. 第一步 其实也是最后一步,就是网上百度一下,Docker Toolbox,下载下来,下载,安装之 ...

随机推荐

  1. [loj3175]排列鞋子

    贪心与最近的鞋子匹配(大小相同且方向相反),记$a_{x}$表示第x双鞋子的左位置,$b_{x}$表示右位置 若$a_{x}>b_{x}$,那么可以交换这两双鞋子并令答案+1,所以不妨设$a_{ ...

  2. vue-router的安装和使用

    第一种方式(简单):新建项目时用 vue-cli 手动选择 router 安装. 1.用键盘 ↓ 移动选择第三项" Manually select features"(手动配置): ...

  3. 我的获奖记录及 Important Dates in OI

    逊逊的获奖记录/ruo(真的没拿过啥奖,并且大部分都集中在初三阶段,即 2020-2021 赛季): NOIP2018 pj,1=,无游记 CSP-S2019,1=,无游记 APIO2020,Ag,游 ...

  4. NOI2021 去不了记

    没错,由于某些 zszz 的原因,我是真的去不了了(指去不了 ZJ) Day -11 ~ -7 - 2021.7.12 - 2021.7.16 令人自闭的 ISIJ 终于结束了----From ycx ...

  5. doxygen相关命令

    主要配置修改 整个程序配置分几个部分 Project related configuration options 项目相关,包括: 项目名 输出目录 输出语言 是否显示继承属性 是否对C.Java.F ...

  6. urllib的基本使用介绍

    1. urllib中urlopen的基本使用介绍 1 ### urllib中urlopen的基本使用介绍 2 3 ## urlopen的基本用法(GET请求) 4 import urllib.requ ...

  7. 39-Remove Duplicates from Sorted Array

    Remove Duplicates from Sorted Array My Submissions QuestionEditorial Solution Total Accepted: 127836 ...

  8. JAVA写入TXT

    用java生成txt文件有两种方式: 1)是通过字符流(或字节流): 2)是直接调用PrintWriter类. 具体实现过程如下: 1)字符流(字节流) 代码如下: import java.io.Fi ...

  9. TOMCAT 搭建

    第一步:下载 软件 和 JDK 第二个:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 传输到Linux里. ...

  10. 大数据学习day34---spark14------1 redis的事务(pipeline)测试 ,2. 利用redis的pipeline实现数据统计的exactlyonce ,3 SparkStreaming中数据写入Hbase实现ExactlyOnce, 4.Spark StandAlone的执行模式,5 spark on yarn

    1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到 ...