曾经学习过一段时间ML.NET的知识,ML.NET是微软提供的一套机器学习框架,相对于其他的一些机器学习框架,ML.NET侧重于消费现有的网络模型,不太好自定义自己的网络模型,底层实现也做了高度封装. 最近想从底层学习一下机器学习的相关知识,经过初步筛选,计划定位于python + pytorch这个方向入手,经过一段时间的学习,我发现由于对python语言不太熟悉,导致实践起来比较困难,先不说机器学习相关的代码,光周边代码就搞得焦头烂额了.想要下决心好好修炼一下python必然不是一朝一夕的事…
项目开发环境为Visual Studio 2019 + .Net 5 创建新项目后首先通过Nuget引入相关包: SciSharp.TensorFlow.Redist是Google提供的TensorFlow开发库,是采用C语言开发的动态链接库(DLL): TensorFlow.NET采用C#语言对C语言的库进行封装,提供.NET调用接口: TensorFlow.Keras是一个高级工具类,对建模和训练过程进行封装,提供简便接口. 通过下列语句对库进行引用: using Tensorflow; u…
回归分析用于分析输入变量和输出变量之间的一种关系,其中线性回归是最简单的一种. 设: Y=wX+b,现已知一组X(输入)和Y(输出)的值,要求出w和b的值. 举个例子:快年底了,销售部门要发年终奖了,销售员小王想知道今年能拿多少年终奖,目前他大抵知道年终奖是和销售额(特征量)挂钩的,具体什么规则不清楚,那么他大概有两个方法解决这个问题: 1.去问老板,今年的分配规则是什么.[通过算法解决问题] 2.去向同事打听他们的销售额和奖金情况,然后推算自己能拿多少.[通过数据解决问题] 我们当然选择第二种…
上一篇文章我们介绍的线性模型的求解,但有很多模型是非线性的,比如: 这里表示有两个输入,一个输出. 现在我们已经不能采用y=ax+b的形式去定义一个函数了,我们只能知道输入变量的数量,但不知道某个变量存在几次方的分量,所以我们采用一个神经网络去定义一个函数. 我们假设只有一个输入.一个输出,神经网络模型结构类似上图,其中蓝色的路径仍为线性模型,红色路径为阶跃函数,是非线性模型. 以上模型只有三个神经元,设输入为x,隐藏层为h,激活函数输出为a,最终输出为y,整个数据计算流情况如下: 以上共有6+…
上一篇文章我们介绍了通过神经网络来处理一个非线性回归的问题,这次我们将采用神经网络来处理一个多元分类的问题. 这次我们解决这样一个问题:输入一个人的身高和体重的数据,程序判断出这个人的身材状况,一共三个类别:偏瘦.正常.偏胖. 处理流程如下: 1.收集数据 2.构建神经网络 3.训练网络 4.保存和消费模型 详细步骤如下: 1.收集数据 对于一个复杂的业务数据,在实际应用时应该是通过收集取得数据,本文的重点不在数据收集,所以我们将制造一批标准数据来进行学习. 关于人体的胖瘦问题,有一个BMI算法…
从这篇文章开始,终于要干点正儿八经的工作了,前面都是准备工作.这次我们要解决机器学习的经典问题,MNIST手写数字识别. 首先介绍一下数据集.请首先解压:TF_Net\Asset\mnist_png.tar.gz文件 文件夹内包括两个文件夹:training和validation,其中training文件夹下包括60000个训练图片validation下包括10000个评估图片,图片为28*28像素,分别放在0~9十个文件夹中. 程序总体流程和上一篇文章介绍的BMI分析程序基本一致,毕竟都是多元…
"如果一个算法在MNIST上不work,那么它就根本没法用:而如果它在MNIST上work,它在其他数据上也可能不work". -- 马克吐温 上一篇文章我们实现了一个MNIST手写数字识别的程序,通过一个简单的两层神经网络,就轻松获得了98%的识别成功率.这个成功率不代表你的网络是有效的,因为MNIST实在是太简单了,我们需要更复杂的数据集来检验网络的有效性!这就有了Fashion-MNIST数据集,它采用10种服装的图片来取代数字0~9,除此之外,其图片大小.数量均和MNIST一致…
本文将介绍如何采用卷积神经网络(CNN)来处理Fashion-MNIST数据集. 程序流程如下: 1.准备样本数据 2.构建卷积神经网络模型 3.网络学习(训练) 4.消费.测试 除了网络模型的构建,其它步骤都和前面介绍的普通神经网络的处理完全一致,本文就不重复介绍了,重点讲一下模型的构建. 先看代码: /// <summary> /// 构建网络模型 /// </summary> private Model BuildModel() { // 网络参数 float scale =…
随着网络越来约复杂,训练难度越来越大,有条件的可以采用GPU进行学习.本文介绍如何在GPU环境下使用TensorFlow.NET. TensorFlow.NET使用GPU非常的简单,代码不用做任何修改,更换一个依赖库即可,程序是否能运行成功主要看环境是否安装正确,这篇文章重点介绍的也就是环境的安装了. CUDA和cuDNN的安装都比较容易,重点是要装对版本. 1.确认安装版本 首先电脑得有一块NVIDIA的显卡! 在桌面右键选择NVIDIA控制面板,在程序左下角点击 :系统信息. 首先要确认显卡…
[1]最近领导天天在群里发一些机器学习的链接,搞得好像我们真的要搞机器学习似的,吃瓜群众感觉好神奇呀. 第一步 其实也是最后一步,就是网上百度一下,Docker Toolbox,下载下来,下载,安装之后会有三个图标,这里给大家截一下图 不过,这三个图标首先我们都不需要去点击他们.为什么呢?看来这么多片博文,感觉最靠谱的就是这一篇了http://www.linuxidc.com/Linux/2016-07/133506.htm 需要先去点击Git Bash这个图标,然后,输入 notepad .b…