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

双鸭山网站开发网页设计的风格

双鸭山网站开发,网页设计的风格,html5 网站搭建,排名好的网站建设企业Python 深度学习项目#xff1a;手写数字识别 为了使机器更加智能#xff0c;开发者们正在深入研究机器学习和深度学习技术。人类通过不断练习和重复来学习执行某项任务#xff0c;从而记住如何完成这些任务。然后#xff0c;大脑中的神经元会自动触发#xff0c;他们能够… Python 深度学习项目手写数字识别 为了使机器更加智能开发者们正在深入研究机器学习和深度学习技术。人类通过不断练习和重复来学习执行某项任务从而记住如何完成这些任务。然后大脑中的神经元会自动触发他们能够快速执行已经学到的任务。深度学习与此也非常相似。它使用不同类型的神经网络架构来解决不同类型的问题例如——对象识别、图像和声音分类、对象检测、图像分割等。 什么是手写数字识别 手写数字识别是指计算机识别手写数字的能力。这是一项对机器来说较为困难的任务因为手写数字并不完美可能有许多不同的书写风格。手写数字识别为这个问题提供了解决方案它使用数字的图像来识别图像中的数字。 关于 Python 深度学习项目 在本文中我们将使用 MNIST 数据集实现一个手写数字识别应用程序。我们将使用一种特殊的深度神经网络即卷积神经网络Convolutional Neural Networks。最终我们将构建一个 GUI你可以在这个界面上绘制数字并立即识别它们。 预备知识 这个有趣的 Python 项目要求你具备 Python 编程的基本知识、使用 Keras 库的深度学习知识以及使用 Tkinter 库构建 GUI 的知识。 安装必要的库 使用以下命令安装该项目所需的库 pip install numpy, tensorflow, keras, pillowMNIST 数据集 这可能是机器学习和深度学习爱好者中最受欢迎的数据集之一。MNIST 数据集包含 60,000 张用于训练的手写数字图像从 0 到 9以及 10,000 张用于测试的图像。因此MNIST 数据集有 10 个不同的类别。手写数字图像以 28×28 矩阵的形式表示每个单元格包含灰度像素值。 下载项目的完整源代码 实现手写数字识别项目 以下是实现手写数字识别项目的步骤 导入库并加载数据集 首先我们将导入训练模型所需的所有模块。Keras 库中已经包含了一些数据集MNIST 就是其中之一。因此我们可以轻松地导入数据集并开始使用它。mnist.load_data() 方法返回我们训练数据、其标签以及测试数据和其标签。 import keras from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers import Conv2D, MaxPooling2D from keras import backend as K # 训练和测试数据集 (x_train, y_train), (x_test, y_test) mnist.load_data() print(x_train.shape, y_train.shape)预处理数据 图像数据不能直接输入到模型中因此我们需要执行一些操作来处理数据使其准备好用于我们的神经网络。训练数据的维度是 (60000,28,28)。CNN 模型需要一个额外的维度因此我们将矩阵重塑为 (60000,28,28,1) 的形状。 x_train x_train.reshape(x_train.shape[0], 28, 28, 1) x_test x_test.reshape(x_test.shape[0], 28, 28, 1) input_shape (28, 28, 1) # 将类向量转换为二进制类矩阵 y_train keras.utils.to_categorical(y_train, num_classes) y_test keras.utils.to_categorical(y_test, num_classes) x_train x_train.astype(float32) x_test x_test.astype(float32) x_train / 255 x_test / 255 print(x_train shape:, x_train.shape) print(x_train.shape[0], 训练样本) print(x_test.shape[0], 测试样本)创建模型 现在我们将在这个 Python 数据科学项目中创建我们的 CNN 模型。CNN 模型通常包含卷积层和池化层。它在处理以网格结构表示的数据时效果更好这也是为什么 CNN 用于图像分类问题时表现良好的原因。Dropout 层用于停用一些神经元在训练过程中减少模型的过拟合。然后我们将使用 Adadelta 优化器编译模型。 batch_size 128 num_classes 10 epochs 10 model Sequential() model.add(Conv2D(32, kernel_size(3, 3),activationrelu,input_shapeinput_shape)) model.add(Conv2D(64, (3, 3), activationrelu)) model.add(MaxPooling2D(pool_size(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(256, activationrelu)) model.add(Dropout(0.5)) model.add(Dense(num_classes, activationsoftmax)) model.compile(losskeras.losses.categorical_crossentropy,optimizerkeras.optimizers.Adadelta(),metrics[accuracy])训练模型 Keras 的 model.fit() 函数将开始模型的训练。它需要训练数据、验证数据、训练轮数epochs和批量大小batch size。 训练模型需要一些时间。训练完成后我们将权重和模型定义保存在 ‘mnist.h5’ 文件中。 hist model.fit(x_train, y_train,batch_sizebatch_size,epochsepochs,verbose1,validation_data(x_test, y_test)) print(模型已成功训练) model.save(mnist.h5) print(将模型保存为 mnist.h5)评估模型 我们的数据集中有 10,000 张图像这些图像将用于评估我们的模型效果如何。测试数据没有参与训练因此对于我们的模型来说是全新的数据。MNIST 数据集平衡性很好我们可以达到约 99% 的准确率。 score model.evaluate(x_test, y_test, verbose0) print(测试损失:, score[0]) print(测试准确率:, score[1])创建用于预测数字的 GUI 为了创建 GUI我们在一个新文件中构建了一个交互式窗口你可以在画布上绘制数字并通过一个按钮识别数字。Tkinter 库包含在 Python 标准库中。我们创建了一个 predict_digit() 函数该函数接收图像作为输入然后使用训练好的模型来预测数字。 然后我们创建了 App 类该类负责构建我们的应用程序的 GUI。我们创建了一个画布可以在捕获鼠标事件时进行绘制通过一个按钮触发 predict_digit() 函数并显示结果。 以下是我们的 gui_digit_recognizer.py 文件的完整代码 from keras.models import load_model from tkinter import * import tkinter as tk import win32gui from PIL import ImageGrab, Image import numpy as npmodel load_model(mnist.h5)def predict_digit(img):# 将图像调整为 28x28 像素img img.resize((28,28))# 将 RGB 转换为灰度img img.convert(L)img np.array(img)# 重塑以支持模型输入并归一化img img.reshape(1,28,28,1)img img/255.0# 预测类别res model.predict([img])[0]return np.argmax(res), max(res)class App(tk.Tk):def __init__(self):tk.Tk.__init__(self)self.x self.y 0# 创建元素self.canvas tk.Canvas(self, width300, height300, bg white, cursorcross)self.label tk.Label(self, text思考中.., font(Helvetica, 48))self.classify_btn tk.Button(self, text 识别, command self.classify_handwriting) self.button_clear tk.Button(self, text 清除, command self.clear_all)# 网格结构self.canvas.grid(row0, column0, pady2, stickyW, )self.label.grid(row0, column1,pady2, padx2)self.classify_btn.grid(row1, column1, pady2, padx2)self.button_clear.grid(row1, column0, pady2)#self.canvas.bind(Motion, self.start_pos)self.canvas.bind(B1-Motion, self.draw_lines)def clear_all(self):self.canvas.delete(all)def classify_handwriting(self):HWND self.canvas.winfo_id() # 获取画布的句柄rect win32gui.GetWindowRect(HWND) # 获取画布的坐标im ImageGrab.grab(rect)digit, acc predict_digit(im)self.label.configure(text str(digit), str(int(acc*100))%)def draw_lines(self, event):self.x event.xself.y event.yr8self.canvas.create_oval(self.x-r, self.y-r, self.x r, self.y r, fillblack)app App() mainloop()截图 Python 机器学习项目输出为数字 2Python 机器学习项目输出为数字 5Python 项目输出为数字 6 总结 在本文中我们成功构建了一个 Python 深度学习项目——手写数字识别应用。我们构建并训练了卷积神经网络该网络在图像分类方面非常有效。随后我们构建了一个 GUI你可以在画布上绘制数字然后对其进行分类并显示结果。 参考资料 资料名称链接Keras 官方文档https://keras.io/TensorFlow 官方文档https://tensorflow.google.cn/MNIST 数据集介绍http://yann.lecun.com/exdb/mnist/手写数字识别教程https://data-flair.training/blogs/handwritten-digit-recognition/Python GUI 开发概述https://docs.python.org/3/library/tkinter.htmlTkinter 详细介绍https://www.tutorialspoint.com/python/python_gui_programming.htm深度学习入门https://deeplearning.ai/卷积神经网络入门https://cs231n.github.io/convolutional-networks/机器学习基础https://www.coursera.org/courses?querymachine%20learning数据预处理技巧https://machinelearningmastery.com/preparing-data-for-deep-learning/Python 项目示例https://github.com/data-flair-training-deep-learning/手写数字识别研究论文https://arxiv.org/abs/1509.06322图像识别技术综述https://www.sunfounder.com/learn/opencv-101
http://www.w-s-a.com/news/26469/

相关文章:

  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书
  • 大连哪里有手机自适应网站建设公司网站介绍模板 html
  • 佛山模板建站宣传片制作公司电话
  • 文字网站居中能自己做网站接业务吗
  • 免备案自助建站网站广州珈瑶公司是哪一年注册的
  • ps做网站界面wordpress为图片添加圆角
  • seo优化推广业务员招聘seo顾问服务福建
  • 成都私人网站建设seo网站推广方案策划书
  • 广州网站建设工作室wordpress log
  • 网站后台添加wordpress h1标签优化
  • 自己做网站都需要什么高密 网站建设
  • 网站语言选择郑州本地做团购的网站
  • dw网页设计模板图片谷歌wordpress优化
  • 网站seo优化要怎么做礼品公司怎么做网站
  • 做网页网站需要钱吗提供常州微信网站建设
  • 网站建设文化效果广东网站建设哪家有
  • 毕业设计做网站怎样做特别一点在线网页制作软件
  • html网站代码上海这边敲墙拆旧做啥网站的比较多
  • 微网站怎么用在线crm管理系统
  • 中国城乡建设部人力网站首页如何利用某个软件做一个网站
  • 个人承接网站建设wordpress editor
  • 建站主机 wordpress专业的菏泽网站建设公司
  • 网站响应时间 标准网站建设色调的
  • 网站开发的合同网站建设 设计
  • 网站开发设置网页端口申请免费个人网站空间
  • 制作广告网站的步骤云服务器做网站