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

绍兴市交通建设有限公司网站财务软件费用计入什么科目

绍兴市交通建设有限公司网站,财务软件费用计入什么科目,个人+网站可以做导航吗,广州网站建设 信科公司写在前面 上一阶段我们完成了手写数字识别项目的构建#xff0c;了解了网络构建、训练、测试的基本流程#xff0c;但是对于一些常见的操作#xff0c;因其使用过于频繁#xff0c;实际上并无必要手动实现#xff0c;而早已被封装为函数了。 这篇文章我们将了解keras高层…写在前面 上一阶段我们完成了手写数字识别项目的构建了解了网络构建、训练、测试的基本流程但是对于一些常见的操作因其使用过于频繁实际上并无必要手动实现而早已被封装为函数了。 这篇文章我们将了解keras高层API将手写数字识别项目用高层API重写一遍。 写在中间 学习之前来探讨之前一直有的疑问运行时提示没有相应模块原因肯定是引入包的原因如果不懂keras和tf.keras的区别还是很有必要看看这篇文章 其实 keras 可以理解为一套搭建与训练神经网络的高层 API 协议Keras 本身已经实现了此协议安装标准的 Keras 库就可以方便地调用TensorFlow、CNTK 等后端完成加速计算在 TensorFlow 中也实现了一套 keras 协议即 tf.keras它与 TensorFlow 深度融合且只能基于 TensorFlow 后端运算并对TensorFlow 的支持更完美。对于使用 TensorFlow 的开发者来说tf.keras 可以理解为一个普通的子模块与其他子模块如 tf.mathtf.data 等并没有什么差别。 但是为了方便我们操作为避免混淆我们就选择tf.keras来完成代码中的相关操作。 注意tensorflow版本和keras版本一定要相兼容不兼容的话引入tensorflow.keras就会报错。 1. 引包 import tensorflow as tf from tensorflow.keras import datasets, layers, Sequential, optimizers, models, losses # pycharm中会出现红色波浪线但不影响运行2. 数据集的读取与处理 这一步就老生常谈了直接复制粘贴过来 def preprocess(x, y):x tf.cast(x, dtypetf.float32) / 255.x tf.reshape(x, [-1, 28*28])y tf.cast(y, dtypetf.int32)y tf.one_hot(y, depth10)return x, y(x, y), (x_test, y_test) datasets.mnist.load_data()# 数据集的处理由于返回的数据集是numpy类型的若要使用GPU加速需转换为张量 train_db tf.data.Dataset.from_tensor_slices((x, y)) train_db train_db.shuffle(60000).batch(128).map(preprocess).repeat(5) # 对测试集的简单处理 test_db tf.data.Dataset.from_tensor_slices((x_test, y_test)) test_db test_db.shuffle(10000).batch(128).map(preprocess) 3. 网络层的构建 封装创建 对于常见的网络原来需要手动调用每一层的类实例完成前向传播运算当网络层数变得较深时这一部分代码显得非常臃肿。可以通过 tf.keras 提供的网络容器 Sequential 将多个网络层封装成一个大网络模型只需要调用网络模型的实例一次即可完成数据从第一层到最末层的顺序传播运算。 在完成网络创建时网络层类并没有创建内部权值张量等成员变量此时通过调用类的 build 方法并指定输入大小即可自动创建所有层的内部张量。通过 summary()函数可以方便打印出网络结构和参数量 # 创建网络 network Sequential([layers.Dense(256, activationrelu),layers.Dense(128, activationrelu),layers.Dense(64, activationrelu),layers.Dense(32, activationrelu),layers.Dense(10)]) network.build(input_shape(None, 28 * 28)) # None代表batch不定 network.summary()就如我们会打印出以下信息 Layer (type)层名称、层类型 Output Shape输出形状 Param #层的参数个数 Trainable params、Non-trainable params可优化的参数、不可优化的参数 Model: sequential _________________________________________________________________Layer (type) Output Shape Param # dense (Dense) (None, 256) 200960 dense_1 (Dense) (None, 128) 32896 dense_2 (Dense) (None, 64) 8256 dense_3 (Dense) (None, 32) 2080 dense_4 (Dense) (None, 10) 330 Total params: 244,522 Trainable params: 244,522 Non-trainable params: 0 _________________________________________________________________4. 模型装配、训练、测试 在训练网络时一般的流程是通过前向计算获得网络的输出值再通过损失函数计算网络误差然后通过自动求导工具计算梯度并更新同时间隔性地测试网络的性能。对于这种常用的训练逻辑可以直接通过 Keras 提供的模型装配与训练等高层接口实现简洁清晰。 在 tf.keras 中提供了 compile()和 fit()函数方便实现上述逻辑。首先通过compile 函数指定网络使用的优化器对象、损失函数类型评价指标等设定这一步称为装配。 # 模型装配 network.compile(optimizeroptimizers.Adam(learning_rate0.01),losslosses.CategoricalCrossentropy(from_logitsTrue),metrics[accuracy])模型装配完成后即可通过 fit()函数送入待训练的数据集和验证用的数据集这一步称为模型训练。 # 指定训练集和测试集训练5个epochs每2个epoch验证一次 network.fit(train_db, epochs5, validation_datatest_db, validation_freq2)如果只是简单的测试模型的性能可以通过 Model.evaluate(test_db)循环测试完 test_db数据集上所有样本并打印出性能指标 network.evaluate(test_db)5. 模型保存与加载 在训练时间隔性地保存模型状态也是非常好的习惯这一点对于训练大规模的网络尤其重要。一般大规模的网络需要训练数天乃至数周的时长一旦训练过程被中断或者发生宕机等意外之前训练的进度将全部丢失。如果能够间断地保存模型状态到文件系统即使发生宕机等意外也可以从最近一次的网络状态文件中恢复从而避免浪费大量的训练时间和计算资源。因此模型的保存与加载非常重要。 仅保存网络参数 这种保存与加载网络的方式最为轻量级文件中保存的仅仅是张量参数的数值并没有其它额外的结构参数。但是它需要使用相同的网络结构才能够正确恢复网络状态因此一般在拥有网络源文件的情况下使用。 print(模型参数自动保存...) network.save_weights(weights.ckpt)print(模拟意外情况网络删除...) del networkprint(重新加载模型的参数...)# 重新创建相同的网络结构 network Sequential([layers.Dense(256, activationrelu),layers.Dense(128, activationrelu),layers.Dense(64, activationrelu),layers.Dense(32, activationrelu),layers.Dense(10)])network.compile(optimizeroptimizers.Adam(learning_rate0.01),losstf.losses.CategoricalCrossentropy(from_logitsTrue),metrics[accuracy]) # 从参数文件中读取数据并写入当前网络 network.load_weights(weights.ckpt)保存模型及参数 这是一种不需要网络源文件仅仅需要模型参数文件即可恢复出网络模型的方法。通过 Model.save(path)函数可以将模型的结构以及模型的参数保存到path文件上在不需要网络源文件的条件下通过tf.keras.models.load_model(path)即可恢复网络结构和网络参数。 network.save(model.h5) print(模型已自动保存...)print(模拟意外情况网络删除...) del networkprint(重新加载模型中...) network tf.keras.models.load_model(model.h5, compileFalse) 学到这里就基本将手写数字识别的重点变化列举了出来下面我们就去摩拳擦掌地试试吧 写在最后 点赞你的认可是我创作的动力 ⭐收藏你的青睐是我努力的方向 ✏️评论你的意见是我进步的财富
http://www.hkea.cn/news/14387956/

相关文章:

  • 哪个网站做h5好宁波网站制作方案
  • 站群系统的优劣什么样的网站适合推广
  • 天津市建设 银行网站教做视频的网站
  • 网站建设设计计划表天津网站建设定制
  • 怎样做网站 app教程上海网站建设电话
  • 上海建设网站平台自己做的网站响应速度慢
  • 喷码机营销型网站网址导航主页哪个好
  • 铁岭网站开发公司apache 本地网站
  • wordpress登录才可评论外贸seo网站推广公司
  • 淄博网站推广那家好wordpress mu常见问题解答
  • wordpress主题代码放在哪里安卓优化大师
  • 四川省工程造价总站官网求个网站能用的
  • 大连网站建设全国建设工程执业资格注册中心网站
  • 站长统计app软件下载wordpress网页手机自适应
  • 用php做视频网站有哪些怎么创办一个网站
  • 网站与支付宝对接杭州市建设工程质量安全监督总站网站
  • jquery 单击input输入框弹出选择框多用于人才类网站php 做网站 python
  • wordpress 建站公司怎样打开网站制作
  • 下陆区建设局网站网络维护实践报告3000
  • 奇网企业网站管理系统网站开发明细
  • 做彩票网站要什么接口oa办公系统管理软件
  • 做的网站怎么让百度收索时搜网站开发checklist
  • iis默认网站怎么设置江苏seo和网络推广
  • 网站做3年登陆官网登录入口
  • 站长工具关键词挖掘2021没封的网站uc
  • 学外贸英语的网站论坛seo教程
  • 门户网站建设请示dz网站设置了关键词但是不显示
  • 外包服务费税率属于seo网站优化
  • iis配置网站开发环境wordpress抓取插件
  • 中山网站制作系统小程序开发模板源码