当前位置: 首页 > news >正文

专业的公司网站设计服务上海建设检测网上登记网站

专业的公司网站设计服务,上海建设检测网上登记网站,wordpress 搜索结果页,wordpress按时间获取文章列表文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解#xff0c;如有遗漏或错误#xff0c;欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 认识网络的构建结构 在神经网络的构建过程中#xff0c;都避不开以下几个步骤#xff1a; 导入网络和依… 文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解如有遗漏或错误欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 认识网络的构建结构 在神经网络的构建过程中都避不开以下几个步骤 导入网络和依赖模块原始数据处理和清洗加载训练和测试数据构建网络结构确定网络优化方法将数据送入网络进行训练同时判断预测效果保存模型部署算法使用新的数据进行预测推理 使用Keras快速构建网络的必要API 在tensorflow2版本中将很多基础函数进行了二次封装进一步急速了算法初期的构建实现。通过keras提供的很多高级API可以在较短的代码体量上实现网络功能。同时通过搭配tf中的基础功能函数可以实现各种不同类型的卷积和组合操作。正是这中高级API和底层元素及的操作大幅度的提升了tensorflow的自由程度和易用性。 常用网络 全连接层 tf.keras.layers.Dense(units3, activationtf.keras.activations.softmax, kernel_regularizertf.keras.regularizers.L2())units维数神经元个数 activation激活函数可选relu softmax sigmoid tanh这里记不住的话可以用tf.keras.activations.逐个查看 kernel_regularizer正则化函数同样的可以使用tf.keras.regularizers.逐个查看 全连接层是标准的神经元组成更多被用在网络的后端或解码端Decoder用来输出预测数据。 拉伸层维度展平 tf.keras.layers.Flatten()这个函数默认不需要输入参数直接使用它会将多维的数据按照每一行依次排开首尾连接变成一个一维的张量。通常在数据输入到全连接层之前使用。 卷积层 tf.keras.layers.Conv2D(filters3, kernel_size3, strides1, paddingvalid)filters:卷积核个数 kernel_size卷积核尺寸 strides卷积核步长卷积核是在原始数据上滑动遍历完成数据计算。 padding可填 ‘valid’ ‘same’是否使用全零填充影响最后卷积结果的大小。 卷积一般被用来提取数据的数据特征。卷积最关键的就是卷积核个数和卷积核尺寸。假设输入一个1nn大小的张量经过x个卷积核步长为2尺寸可以整除n的卷积层之后会输出一个x*(n/2)*(n/2)大小的张量。可以理解为卷积步长和卷积核大小影响输出张量的长宽卷积核的大小影响输出张量的深度。 构建网络 使用Sequential构建简单网络或者构建网络模块。列表中顺序包含网络的各个层。 tf.keras.models.Sequential([ ])使用独立的class构建这里定义一个类继承自 tensorflow.keras.Model 后面基本是标准结构初始化相关参数定义网络层重写call函数定义前向传播层的连接顺序。后续随着使用的深入可以进一步的添加更多函数来实现不同类型的网络。 class mynnModel(Model): # 继承from tensorflow.keras import Model 作为父类def __init__(self):super(IrisModel, self).__init__() # 初始化父类的参数self.d1 layers.Dense(units3, activationtf.keras.activations.softmax, kernel_regularizertf.keras.regularizers.L2())def call(self, input): # 重写前向传播函数y self.d1(input)return ymodel IrisModel()训练及其参数设置 设置训练参数 tensorflow.keras.Model.compile(optimizer参数更新优化器,loss损失函数metrics准确率计算方式即输出数据类型和标签数据类型如何对应)具体参数可以看下面的内容 optimizer参数优化器 SGD: tf.keras.optimizers.SGD(learning_rate0.1,momentum动量参数) learning_rate学习率momentum动量参数AdaGrad: tf.keras.optimizers.Adagrad(learning_rate学习率)Adam: tf.keras.optimizers.Adam(learning_rate学习率 , beta_10.9, beta_20.999) loss损失函数MSE: tf.keras.losses.MeanSquaredError()交叉熵损失 tf.keras.losses.SparseCategoricalCrossentropy(from_logitsFalse) from_logitstrue时输出值经过一次softmax概率归一化 metrics准确率计算方式就是输出数据类型和标签数据类型如何对应数值型两个都是序列值 accuracy都是独热码 categorical_accuracy标签是数值输出是独热码 sparse_categorical_accuracy训练 tensorflow.keras.Model.model.fit(x_train, y_train, batch_size32, epochs500, validation_split0.2, validation_freq20)网络传入参数含义如下 输入的数据依次为输入训练特征数据标签数据单次输入数据量迭代次数 validation_split从训练集划分多少比例数据用来测试 / validation_data(测试特征数据测试标签数据) 这两个参数智能二选一 validation_freq多少次epoch测试一次输出网络信息 tensorflow.keras.Model.model.summary()上面这个函数可以在训练结束或者训练开始之前输出一次网络的结构信息用于确认。 实际应用展示 环境 软件环境的配置可以查看环境配置流程说明 cuda 11.8 # CUDA也可以使用11.2版本 python3.7 numpy1.19.5 matplotlib 3.5.3 notebook6.4.12 scikit-learn1.2.0 tensorflow2.6.0 keras2.6.0使用iris数据集构建基础的分类网络 import tensorflow as tf from sklearn import datasets import numpy as npx_train datasets.load_iris().data y_train datasets.load_iris().targetnp.random.seed(116) np.random.shuffle(x_train) np.random.seed(116) np.random.shuffle(y_train) tf.random.set_seed(116)model tf.keras.models.Sequential([ tf.keras.layers.Dense(3, activationsoftmax,kernel_regularizertf.keras.regularizers.l2())]) model.compile(optimizertf.keras.optimizers.SGD(learning_rate0.1),losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsFalse),metrics[sparse_categorical_accuracy]) model.fit(x_train, y_train, batch_size32, epochs500, validation_split0.2, validation_freq20) model.summary( )通过上面这样几行简单的代码我们实现了对iris数据的分类训练。在上面的代码中使用了Sequential函数来构建网络。 使用MNIST数据集设计分类网络 在开始下面的代码之前要先下载对应的数据 https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz 复制这段网址在浏览器打开会直接下载数据然后将下载好的mnist.npz复制到一个新的路径下然后在tf.keras.datasets.mnist.load_data(path‘you file path ’代码中的这行里修改为你的路径注意要使用绝对路径。 import tensorflow as tf from tensorflow.keras import Model from tensorflow.keras import layers from sklearn import datasets import numpy as np import matplotlib.pyplot as plt(x_train, y_train), (x_test, y_test) tf.keras.datasets.mnist.load_data(pathE:\Tensorflow\data\mnist.npz) # 注意替换自己的使用绝对路径 x_train, x_test x_train/255.0, x_test/255.0 # 图像数据归一化 print(训练集样本的大小:, x_train.shape) print(训练集标签的大小:, y_train.shape) print(测试集样本的大小:, x_test.shape) print(测试集标签的大小:, y_test.shape) #可视化样本下面是输出了训练集中前20个样本 fig, ax plt.subplots(nrows4,ncols5,sharexall,shareyall) ax ax.flatten() for i in range(20):img x_train[i].reshape(28, 28)ax[i].imshow(img,cmapGreys) ax[0].set_xticks([]) ax[0].set_yticks([]) plt.tight_layout() plt.show() # 定义网络结构 class mnisModel(Model):def __init__(self, *args, **kwargs):super(mnisModel, self).__init__(*args, **kwargs)self.flatten1layers.Flatten()self.d1layers.Dense(128, activationtf.keras.activations.relu)self.d2layers.Dense(10, activationtf.keras.activations.softmax)def call(self, input):x self.flatten1(input)x self.d1(x)x self.d2(x)return(x) model mnisModel() #设置训练参数 model.compile(optimizeradam, # adam tf.keras.optimizers.Adam(learning_rate0.4 , beta_10.9, beta_20.999)losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsFalse),metrics[sparse_categorical_accuracy]) # 训练 model.fit(x_train, y_train, batch_size32, epochs5, validation_data (x_test, y_test), validation_freq1) model.summary()运行后会先显示数据集中的前二十个数字 关闭数字展示窗口后开始训练并看到训练的过程
http://www.hkea.cn/news/14256688/

相关文章:

  • 一六八互联网站建设wordpress自动重命名
  • 桂林网站制作培训班网页设计代码意思
  • 中煤第三建设集团网站企业管理培训课程百度云
  • 前端网站开发兼职网站用asp还是php
  • 伙购网官方网站做网站要买什么类型云空间
  • 医疗知识普及网站开发嘉定建设机械网站
  • 微网站是什么时候创建的小学生简短小新闻摘抄
  • 庆元县建设局网站wordpress 页面位置
  • 企业网站设计与推广游戏推广平台怎么赚钱
  • 自己做网站不推广德阳网站建设公司
  • 专业网站设计联系电话去除tag wordpress
  • 涞源县住房和城乡建设局网站注册一个公司网站需要多少钱
  • 网站后续建设说明玉环做企业网站
  • 国外网站赚钱防做网站视频
  • 我需要把网站做网站后台无法修改
  • 做全网营销型网站建设外国人爱做视频网站吗
  • 研发网站建设报价视频网站会员系统怎么做
  • 最高法律网站是做啥的亚马逊雨林
  • 鹤山做网站公司seo sem 做网站
  • 网页设计与网站建设有区别吗免费建设物流网站
  • 威海西郊建设集团网站简单个人网站源码
  • 网站里的图片是怎么做的自己如何做企业网站
  • jsp mysql 网站开发2023年6月份又封城了
  • 国内做的比较大的外贸电商网站建设网站的功能及目的
  • 上街三屏网站建设无锡网站建设 无锡和诚科技
  • 网站建设的3个阶段免费搭建淘宝客网站
  • 自己有域名怎么做免费网站小工具文本wordpress
  • 网站建设三把火科技深圳网站建设收费
  • vs和sql做购物网站江苏网站建设开发
  • 大型网站开发 优帮云wordpress寻模板