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

网站怎么弄二维码wordpress pid连续

网站怎么弄二维码,wordpress pid连续,惠州网站制作培训,WordPress外链网盘背景 keras深度学习框架#xff0c;并不是一个独立的深度学习框架#xff0c;它后台依赖tensorflow或者theano。大部分开发者应该使用的是tensorflow。keras可以很方便的像搭积木一样根据模型搭出我们需要的神经网络#xff0c;然后进行编译#xff0c;训练#xff0c;测试…   背景 keras深度学习框架并不是一个独立的深度学习框架它后台依赖tensorflow或者theano。大部分开发者应该使用的是tensorflow。keras可以很方便的像搭积木一样根据模型搭出我们需要的神经网络然后进行编译训练测试预测。 今天介绍的手写数字识别实验主要是熟悉keras搭建神经网络的流程以及大体的思路。现如今手写数字识别实验的代码各种各样对于初学者而言我们需要的是类似helloworld那样简单的示例。通过示例我们可以了解神经网络的搭建过程。 这里使用的手写数字识别通过搭建网络构建模型最后保存模型然后我们加载模型通过真实的图片来预测也检验一下神经网络的能力。 这里手写数字识别数据来源于官方自带mnist数据集这个数据集包含60000个训练集和10000个测试集。每个数据是由28 * 28 784个矩阵元素组成。所以我们自己用来测试的图片最后应该也要按照这个28*28的尺寸来制作并且最后进行预测predict的时候也要像训练集或者测试集一样把图片转为一个784元素的数组。 准备代码 import keras import numpy as np import tensorflow as tf from keras.models import Sequential from keras.layers import Dense, Activation from tensorflow.keras import datasets, utils import matplotlib.pyplot as plt(x_train, y_train), (x_test, y_test) datasets.mnist.load_data() x_train x_train.reshape((-1, 28*28)) x_train x_train.astype(float32)/255 x_test x_test.reshape((-1, 28*28)) x_test x_test.astype(float32)/255y_train utils.to_categorical(y_train, num_classes10) y_test utils.to_categorical(y_test, num_classes10)print(x_train.shape, x_train.shape) print(x_test.shape, x_test.shape) print(y_train.shape, y_train.shape) print(y_test.shape, y_test.shape)layer [Dense(32, input_shape(784,)),Activation(relu),Dense(10),Activation(softmax)]model Sequential(layer)model Sequential() # model.add(Dense(units784, activationrelu, input_dim784)) model.add(Dense(512, activationrelu, input_shape(28*28, ))) model.add(Dense(10, activationsoftmax))model.compile(losscategorical_crossentropy, optimizeradam, metrics[accuracy]) model.summary()history model.fit(x_train, y_train, epochs5, batch_size128, validation_data(x_test, y_test))acc history.history[accuracy] val_acc history.history[val_accuracy] epochs range(1, len(acc) 1) plt.plot(epochs, acc, bo, labelTraining accuracy) plt.plot(epochs, val_acc, b, labelValidation accuracy) plt.title(Training and Validation accuracy) plt.xlabel(Epochs) plt.ylabel(Accuracy) plt.legend() plt.show() model.save(mnist.h5) prediction model.predict(x_test[:1], batch_size32) print(x_test[:1]) print(y_test[:1]) print(prediction) print(np.argmax(prediction, axis1)) 这个代码在引入了相关库之后进行的第一件事就是数据处理 (x_train, y_train), (x_test, y_test) datasets.mnist.load_data() x_train x_train.reshape((-1, 28*28)) x_train x_train.astype(float32)/255 x_test x_test.reshape((-1, 28*28)) x_test x_test.astype(float32)/255 y_train utils.to_categorical(y_train, num_classes10) y_test utils.to_categorical(y_test, num_classes10)print(x_train.shape, x_train.shape) print(x_test.shape, x_test.shape) print(y_train.shape, y_train.shape) print(y_test.shape, y_test.shape) 我们的数据集x_train,x_test就是我们的图片数据这个数据是784个元素组成的数组我们先进行转矩阵然后对像素点取模得到0-1之间的值。我们代码最后打印了x_test[:1]可以看看它的样子 这里我们还使用了utils.to_categorical(y_test,num_classes10) 对我们的目标进行了one-hot转码。通过这个图我们也看到了数字 7 转了one-hot编码之后变为了[0,0,0,0,0,0,0,1,0,0]。 这个代码构建了一个简单的神经网络也就两层 第一层输入层 Dense(512,activationrelu,input_shape(28*28, ))  #512个节点relu激活函数输入形状或者维度 28*28784。代码中也给出了另一种通过input_dim来指定维度的方法意思是一样的但是那种写法model.add(Dense(units784, activationrelu, input_dim784))指定的网络节点units784。这个数字可以随便定义。手写数字识别里面设置512784都可以。 第二层输出层 Dense(10, activationsoftmax) #这里指定对应十个分类也就是数字0123456789的个数。手写数字识别是一个多分类问题。 没有隐藏层也没有其他的Dropout。就是简单神经网络。 另外代码中还给出了一种构建神经网络的办法 layer [Dense(32, input_shape(784,)),Activation(relu),Dense(10),Activation(softmax)]model Sequential(layer) 意思是一样的只不过这里units32也就是输入层由32个神经网络节点组成。  model.compile(losscategorical_crossentropy, optimizeradam, metrics[accuracy]) model.summary() 这是编译神经网络和打印神经网络概要。 编译神经网络传入losscategorical_cressentropy 表示损失函数求的是交叉熵。optimizeradam表示优化器是adam表示自适应算法另外也有可能会看到sgd随机梯度下降算法或者rmsprop也是一种自适应算法。metrics[accuracy]统计指标这里指定成功率。  通过model.summary()我们可以看到神经网络节点信息  history model.fit(x_train, y_train, epochs5, batch_size128, validation_data(x_test, y_test)) 这里是把训练和测试神经网络放在一起了我们传入的validation_data指定了测试数据集。如果不指定validation_data那么后面我们通过model.evaluate(x_test,y_test) 也可以得到loss,acc等数据。 acc history.history[accuracy] val_acc history.history[val_accuracy] epochs range(1, len(acc) 1) plt.plot(epochs, acc, bo, labelTraining accuracy) plt.plot(epochs, val_acc, b, labelValidation accuracy) plt.title(Training and Validation accuracy) plt.xlabel(Epochs) plt.ylabel(Accuracy) plt.legend() plt.show() 我们通过matplot来展示acc,val_acc等信息结果如下图所示 我们还通过model.save(mnist.h5)保存模型后面我们会加载这个模型来进行预测。 prediction model.predict(x_test[:1], batch_size32) print(x_test[:1]) print(y_test[:1]) print(prediction) print(np.argmax(prediction, axis1)) 我们简单通过测试集的第一个数字7来进行了一个验证这个验证主要是要知道我们将来传入图片需要什么类型的数据以及得到预测结果之后怎么取值。这里prediction是一个按照概率来进行组装的数组哪个概率大最终的结果就是谁。我们通过np.argmax(prediction, axis1)指定获取一个数组中按行(axis1)来统计最大的那个数。 *************************************************************** 预测 很多代码示例里面基本上到了model.evaluate()对算法进行评估之后就没有了对于刚入门的人来说神经网络创建了测试了好不好用也不知道。因为这个训练集和测试机都是官网给出的例子对于程序员来说通过实践来验证一个猜测那才是最重要的至于这是什么不重要。 上面的代码最后我们通过测试集x_test[:1]也就是第一个测试数字简单做了一个预测大概知道了要预测需要的数据是一个[28*28784]的数组。而我们准备的测试图片应该也要和官方给出的测试数据对应上也即是前面提到的图片是28*28像素的数字图片如下所示 同样的给出代码 import keras import numpy as np import cv2 from keras.models import load_modelmodel load_model(mnist.h5)def predict(img_path):img cv2.imread(img_path, 0)img img.reshape(28, 28).astype(float32) / 255 # 0 1img img.reshape(-1, 784) # 28 * 28 - 784label model.predict(img)label np.argmax(label, axis1)print({} - {}.format(img_path, label[0]))if __name__ __main__:for _ in range(10):predict(number_images/b_{}.png.format(_))这些图片我们放在number_images目录下命名规则是b_0.png,b_1.png这样子。 最后我们加载模型并通过opencv库加载图片并转换图片矩阵为784个元素的数组。然后交给模型预测预测结果是一个概率数组取概率最大的那个数组元素。 预测结果如下 结果很感人并没有达到很高的概率准确率60%而且这个概率对于手写图片识别来说还有点偏高因为实际上很多数字图片识别错误。  这篇文章主要就keras构建简单神经网络并进行训练测试最后还通过我们自己手写的数字图片来进行预测验证也过了一把深度学习的瘾。 本文keras和tensorflow版本是2.8.0可能有几个api与其他地方有区别比如datasets,这里使用的是tensorflow.keras.datasets。另外在计算成功率acc的时候使用的是history[accuracy]有的地方可能直接是history[acc]应该是版本的问题根据自己的版本找到合适的方法就行。
http://www.pierceye.com/news/151040/

相关文章:

  • 自己做网站app甘肃网站域名申请公司
  • 电子商务网站开发的课程介绍2023年新闻摘抄
  • 合肥如何做百度的网站推广百度知道官网首页登录入口
  • 织梦网站怎么做二级域名广州做网站费用
  • 湖南的商城网站建设网站建设与管理专业就业
  • 诸城企业网站建设wordpress经典编辑器插件
  • 做视频播放网站 赚钱全国建筑网站
  • 网站建站要多少钱2021安全员证报名入口
  • 成都建设网站那家好vs2019可以做网站吗
  • 个人网站开发教程济南高新网站制作
  • 中国空间站最新进展欧泰国际物流网站
  • 做淘宝链接网站成都网站建设 3e网络
  • 兰州中川国际机场t3航站楼vue单页面做网站加载慢
  • 公司网站制作费用申请泸州网站建设公司
  • 专业网络优化有名的seo外包公司
  • 宿迁网站建设制作湖南常德邮编
  • 网站制作方案电子商务网站建设与维护的主要内容
  • 网站淘宝客怎么做的建网站前途
  • 宁波网站开发服务网页制作技巧
  • 中医网站风格网络规划设计师2022论文5月
  • 网站主办者单位有效证件电子件是什么怎么做免费的产品网站
  • 设计素材网站好融资吗网站设计需要需要用
  • 北京品牌营销的服务机构sem和seo有什么区别
  • 注册企业网站上海人才中心档案托管
  • 建设银行的网站为什么登不上公司员工培训方案
  • 网站形式wordpress 顶部工具栏
  • 网站前后台修改wordpress用户密码
  • 微信 公司网站 怎么做手机端视频网站模板下载
  • 何为响应式网站太原自助建站
  • 网站建设方案书怎么写安徽和住房建设厅网站