当前位置: 首页> 娱乐> 八卦 > 全网推广引流_福州专业网站建设推广费用_营销型网站建设题库_金华seo全网营销

全网推广引流_福州专业网站建设推广费用_营销型网站建设题库_金华seo全网营销

时间:2025/7/20 2:42:44来源:https://blog.csdn.net/zhang_adrian/article/details/145831778 浏览次数:0次
全网推广引流_福州专业网站建设推广费用_营销型网站建设题库_金华seo全网营销

.Net 9下使用Tensorflow.net---DNN_Keras

  • 1、创建应用,导入依赖
  • 2、编写代码
    • 1)添加引用
    • 2)创建基础对象
    • 3)初始化数据集
    • 4)重点步骤:创建 Keras下的DNN模型
    • 5)训练模型得到评估值
    • 6)结果输出

这个例子依然采用dnn的模型。但是依赖于 keras来实现,
整体的步骤还是如此:
一、数据加载,预处理
二、选择网络训练模型(本例使用 Eager的 DNN)
三、定义损失函数、优化函数
四、训练模型且通过优化函数优化网络权重参数
五、评估结果

1、创建应用,导入依赖

这个和 .Net 9下使用Tensorflow.net—DNN_Eager 中操作一样,不再赘述

2、编写代码

1)添加引用

using Tensorflow;
using Tensorflow.Keras.Engine;
using Tensorflow.Keras.Layers;
using Tensorflow.Operations.Initializers;
using Tensorflow.Keras.Optimizers;
//using NumSharp;
using static Tensorflow.Binding;
using static Tensorflow.KerasApi;

2)创建基础对象

IModel _model;LayersApi _layers=new LayersApi();

3)初始化数据集

keras的API很简洁,能很清楚看到,初始化数据分为:
1、加载数据集
2、整理训练集(动作分为:数据集维度整理,归一化数据格式整理)
3、整理测试集

   public void FNN(){var (x_train, y_train, x_test, y_test) = keras.datasets.mnist.load_data();//下载或加载本地MNISTx_train = x_train.reshape((60000, 784))/255f;x_test = x_test.reshape((10000, 784)) / 255f;}

4)重点步骤:创建 Keras下的DNN模型

   public void FNN(){var inputs = keras.Input(shape: 784);//第一个全连接层var outputs= _layers.Dense(64,activation:keras.activations.Relu).Apply(inputs);//第二个全连接层outputs = _layers.Dense(64, activation: keras.activations.Relu).Apply(outputs);//输出层outputs = _layers.Dense(10).Apply(outputs);//搭建keras模型_model = keras.Model(inputs, outputs,name:"mymnist_model");_model.summary();//将Keras DNN模型编译成 TensorFlow的静态图_model.compile(loss: keras.losses.SparseCategoricalCrossentropy(from_logits: true),optimizer: keras.optimizers.RMSprop(),metrics: new[] { "accuracy" });}

说明:
DNN模型是前馈网络神经模型,是一个多层的结构,每一个层中神经元和下一个层的神经元是全连接的。
本例中注意内容:
1、采用的 Keras的Functional API的方式来创建模型,该方式 下通过 加载数据集,指定输入 隐藏 输出层的创建模型方式。该方式的好处是 可以搭建任意结构的神经网络,本例创建的是一个两层的DNN神经网络模型。
2、主要是通过Keras的 Dense函数来 创建每层,该函数创建的是一个全连接层,其中重要参数:
a、神经元数量: 整数,表示该层的输出空间维度(即该层神经元的数量)。
b、激活函数:这个函数的作用是对处理结果进行非线性变换。
常用的激活函数包括 ‘relu’、‘sigmoid’、‘tanh’ 等,sigmod和tanh前面介绍过了,此处使用relu,表达式为:
在这里插入图片描述
其实可以看出,该函数可以有效的实现 激活函数对于 梯度及稀疏性的要求。
3、通过keras.Model的方法,可以直接创建模型

5)训练模型得到评估值

   public void FNN(){//使用输入数据和标签来训练模型_model.fit(x_train, y_train, batch_size: 64, epochs: 2, validation_split: 0.2f);//评估模型_model.evaluate(x_test, y_test,verbose:2);//序列化保存模型_model.save("mnist_model");}

6)结果输出

在这里插入图片描述
可以看到,终端最终的书结果 符合DNN的模型,准确率也在上升,是比较合理的训练结果

关键字:全网推广引流_福州专业网站建设推广费用_营销型网站建设题库_金华seo全网营销

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: