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

湖州建设网站制作自己画图设计房间的软件

湖州建设网站制作,自己画图设计房间的软件,福州便民网免费发布信息,湛江网站制作费用目录 1. 说明2. 手写数字识别的CNN模型测试2.1 导入相关库2.2 加载数据和模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章训练的模型进行测试… 目录 1. 说明2. 手写数字识别的CNN模型测试2.1 导入相关库2.2 加载数据和模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章训练的模型进行测试。首先是将训练好的模型进行重新加载然后采用opencv对图片进行加载最后将加载好的图片输送给模型并且显示结果。 2. 手写数字识别的CNN模型测试 2.1 导入相关库 在这里导入需要的第三方库如cv2如果没有则需要自行下载。 from tensorflow import keras # 引入内置手写体数据集mnist from keras.datasets import mnist import skimage, os, sys, cv2 from PIL import ImageFont, Image, ImageDraw # PIL就是pillow包(保存图像) import numpy as np2.2 加载数据和模型 把MNIST数据集进行加载并且把训练好的模型也加载进来。 # 加载mnist数据 (x_train, y_train), (x_test, y_test) mnist.load_data() # 加载cnn_mnist.h5文件重新生成模型对象, 等价于之前训练好的cnn_model recons_model keras.models.load_model(cnn_mnist.h5)2.3 设置保存图片的路径 将数据集的某个数据以图片的形式进行保存便于测试的可视化。 在这里设置图片存储的位置。 # 创建图片保存路径 test_file_path os.path.join(sys.path[0], imgs, test100.png) # 存储测试数据的任意一个 Image.fromarray(x_test[100]).save(test_file_path)在书写完上述代码后需要在代码的当前路径下新建一个imgs的文件夹用于存储图片如下。 执行完上述代码后就会在imgs的文件中可以发现多了一张图片如下(下面测试了很多次)。 2.4 加载图片 采用cv2对图片进行加载下面最后一行代码取一个通道的原因是用opencv库也就是cv2读取图片的时候图片是三通道的而训练的模型是单通道的因此取单通道。 # 加载本地test.png图像 image cv2.imread(test_file_path) # 复制图片 test_img image.copy() # 将图片大小转换成(28,28) test_img cv2.resize(test_img, (28, 28)) # 取单通道值 test_img test_img[:, :, 0] print(test_img.shape)2.5 图片预处理 对图片进行预处理即进行归一化处理和改变形状处理这是为了便于将图片输入给训练好的模型进行预测。 # 预处理: 归一化 reshape new_test_img (test_img/255.0).reshape(1, 28, 28, 1)2.6 对图片进行预测 将图片输入给训练好我的模型并且进行预测。 预测的结果是10个概率值所以需要进行处理 np.argmax()是得到概率值最大值的序号也就是预测的数字。 # 预测 y_pre_pro recons_model.predict(new_test_img, verbose1) # 哪一类数字 class_id np.argmax(y_pre_pro, axis1)[0] print(test.png的预测概率, y_pre_pro) print(test.png的预测概率, y_pre_pro[0, class_id]) print(test.png的所属类别/手写体数字, class_id) class_id str(class_id)2.7 显示图片 对预测的图片进行显示把预测的数字显示在图片上。 下面6行代码分别是创建窗口设定窗口大小显示数字显示图片停留图片清除内存。 # # 显示 cv2.namedWindow(img, 0) cv2.resizeWindow(img, 500, 500) # 自己设定窗口图片的大小 cv2.putText(image, class_id, (2, 5), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 0.2, (255, 0, 0), 1) cv2.imshow(img, image) cv2.waitKey() cv2.destroyAllWindows()3. 完整代码和显示结果 以下是完整的代码和图片显示结果。 from tensorflow import keras # 引入内置手写体数据集mnist from keras.datasets import mnist import skimage, os, sys, cv2 from PIL import ImageFont, Image, ImageDraw # PIL就是pillow包(保存图像) import numpy as np# 加载mnist数据 (x_train, y_train), (x_test, y_test) mnist.load_data() # 加载cnn_mnist.h5文件重新生成模型对象, 等价于之前训练好的cnn_model recons_model keras.models.load_model(cnn_mnist.h5) # 创建图片保存路径 test_file_path os.path.join(sys.path[0], imgs, test100.png) # 存储测试数据的任意一个 Image.fromarray(x_test[100]).save(test_file_path) # 加载本地test.png图像 image cv2.imread(test_file_path) # 复制图片 test_img image.copy() # 将图片大小转换成(28,28) test_img cv2.resize(test_img, (28, 28)) # 取单通道值 test_img test_img[:, :, 0] print(test_img.shape) # 预处理: 归一化 reshape new_test_img (test_img/255.0).reshape(1, 28, 28, 1) # 预测 y_pre_pro recons_model.predict(new_test_img, verbose1) # 哪一类数字 class_id np.argmax(y_pre_pro, axis1)[0] print(test.png的预测概率, y_pre_pro) print(test.png的预测概率, y_pre_pro[0, class_id]) print(test.png的所属类别/手写体数字, class_id) class_id str(class_id) # # 显示 cv2.namedWindow(img, 0) cv2.resizeWindow(img, 500, 500) # 自己设定窗口图片的大小 cv2.putText(image, class_id, (2, 5), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 0.2, (255, 0, 0), 1) cv2.imshow(img, image) cv2.waitKey() cv2.destroyAllWindows() To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. (28, 28) 1/1 [] - 0s 210ms/step test.png的预测概率 [[2.3381226e-05 1.1173951e-09 2.5884110e-09 2.3000638e-10 1.5515226e-073.6373976e-07 9.9997604e-01 5.8317045e-13 1.0071908e-07 1.6725430e-09]] test.png的预测概率 0.99997604 test.png的所属类别/手写体数字 64. 多张图片进行测试的完整代码以及结果 为了测试更多的图片引入循环进行多次测试效果更好。 from tensorflow import keras # 引入内置手写体数据集mnist from keras.datasets import mnist import skimage, os, sys, cv2 from PIL import ImageFont, Image, ImageDraw # PIL就是pillow包(保存图像) import numpy as np# 加载mnist数据 (x_train, y_train), (x_test, y_test) mnist.load_data() # 加载cnn_mnist.h5文件重新生成模型对象, 等价于之前训练好的cnn_model recons_model keras.models.load_model(cnn_mnist.h5)prepicture int(input(input the number of test picture :)) for i in range(prepicture):path1 input(input the test picture path:)# 创建图片保存路径test_file_path os.path.join(sys.path[0], imgs, path1)# 存储测试数据的任意一个num int(input(input the test picture num:))Image.fromarray(x_test[num]).save(test_file_path)# 加载本地test.png图像image cv2.imread(test_file_path)# 复制图片test_img image.copy()# 将图片大小转换成(28,28)test_img cv2.resize(test_img, (28, 28))# 取单通道值test_img test_img[:, :, 0]# 预处理: 归一化 reshapenew_test_img (test_img/255.0).reshape(1, 28, 28, 1)# 预测y_pre_pro recons_model.predict(new_test_img, verbose1)# 哪一类数字class_id np.argmax(y_pre_pro, axis1)[0]print(test.png的预测概率, y_pre_pro)print(test.png的预测概率, y_pre_pro[0, class_id])print(test.png的所属类别/手写体数字, class_id)class_id str(class_id)# # 显示cv2.namedWindow(img, 0)cv2.resizeWindow(img, 500, 500) # 自己设定窗口图片的大小cv2.putText(image, class_id, (2, 5), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 0.2, (255, 0, 0), 1)cv2.imshow(img, image)cv2.waitKey()cv2.destroyAllWindows() 下面的test picture num指的是数据集中该数据的序号(0-59999)并不是值实际的数字。 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. input the number of test picture :2 input the test picture path:1.jpg input the test picture num:1 1/1 [] - 0s 156ms/step test.png的预测概率 [[4.3549915e-07 4.7153802e-07 9.9998319e-01 5.7891691e-07 2.7986115e-085.3348625e-08 7.1938064e-09 1.4849566e-05 3.6678301e-07 2.2624316e-09]] test.png的预测概率 0.9999832 test.png的所属类别/手写体数字 2input the test picture path:2.jpg input the test picture num:2 1/1 [] - 0s 26ms/step test.png的预测概率 [[1.4249144e-10 9.9994874e-01 6.1170212e-08 2.7543174e-09 1.9512597e-065.1548787e-09 1.5619334e-07 3.3457465e-07 4.5184272e-05 3.6284032e-06]] test.png的预测概率 0.99994874 test.png的所属类别/手写体数字 1
http://www.pierceye.com/news/3063/

相关文章:

  • 淘宝客的优惠卷网站怎么做的想做淘宝 网站怎么做
  • 品牌网站设计工作室中国十大建筑设计院排名
  • 自建手机网站网站开发的工资是多少钱
  • 湛江专业网站建设怎么做永嘉县建设局网站
  • 长沙哪些公司做网站翠竹营销网站设计
  • 手机制作网站主页软件wordpress 主题 xiu
  • vps如何创建网站北京公司网站制作费用
  • 合肥专业做网站的公司会员网站开发
  • 做租赁的行业网站电子商务市场的发展前景
  • 做emc的有哪些网站建设银行网站驱动
  • 天河区门户网站教育局板块全国建筑网站
  • 南昌网站建设模板网络公司广告设计公司深圳营销策划公司
  • 做网站流量怎么赚钱网站建设售前说明书
  • 大型网站故障安徽合肥建设厅网站
  • 深圳市珠宝网站建设中国万网联系方式
  • 网站那个做的比较好的做中介网站需要多少钱
  • 论坛网站用的虚拟主机学校网站 功能
  • 网站制作可能出现的问题英文网站建设免费
  • 化妆品网站设计开题报告酒店seo是什么意思
  • 开发手机网站用什么好如何注册一个平台
  • 摄影网站设计模板破解版游戏盒子大全
  • 徐州金桥建设监理有限公司网站百度搜索关键词优化方法
  • 快速让百度收录网站仿腾讯视频网站
  • 网站开发 哪个工具更快顺德网站
  • 做网站多少钱西宁君博示范网站经营性备案条件
  • 北京西城区建设网站优设网页设计
  • 苏州网页服务开发与网站建设wordpress 内存使用教程
  • 如何做网站推广 求指点网站里的图片切换怎么做
  • 域名备案网站购买赣州vi设计公司
  • 成都网站建设单招网企业信息查询系统官网山东