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

HIT 模式识别 手写汉字分类 Python实现

训练集数据 TrainSamples-400.csv,含 100 个不同汉字,每个汉字 400 个实例,每个实例均为 64*64 的二值图像;
训练集标注TrainSamples-400.csv,为 40000 个 0 到 99 间的整数,表示训练集中每个实例所属汉字类别;
测试集数据 TestSamples-300.csv,为 30000 个实例,每个实例格式同训练集。
要求标注测试集,输出 Result.csv。

import numpy as np
import pandas as pd
from tensorflow.keras.utils import to_categorical
from tensorflow.keras import models, layersdef train():data = pd.read_csv("TrainSamples-400.csv", header=None)train_image = data.to_numpy()data = pd.read_csv("TrainLabels-400.csv", header=None)train_label = data.to_numpy()train_label = to_categorical(train_label)network = models.Sequential()network.add(layers.Input(shape = (64, 64, 1)))network.add(layers.Conv2D(64, (5, 5), activation = 'relu'))network.add(layers.MaxPooling2D((2, 2)))network.add(layers.Conv2D(96, (3, 3), activation = 'relu'))network.add(layers.MaxPooling2D((2, 2)))network.add(layers.Conv2D(48, (3, 3), activation = 'relu'))network.add(layers.Flatten())network.add(layers.Dense(768, activation = 'relu'))network.add(layers.Dense(100, activation = 'softmax'))network.summary()network.compile(optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = ['accuracy'])network.fit(train_image.reshape(40000, 64, 64, 1), train_label, epochs = 5, batch_size = 64, validation_split = 0.1, validation_freq = 1)network.save('saved_model/my_model')def test():data = pd.read_csv("TestSamples-300.csv", header = None)test_image = data.to_numpy()network = models.load_model('saved_model/my_model')network.summary()test_label = network.predict(test_image.reshape(30000, 64, 64, 1))test_label = np.array([np.argmax(i) for i in test_label])pd.DataFrame(test_label).to_csv('Result.csv', header = None, index = False)if __name__ == '__main__':train()test()
http://www.lryc.cn/news/236936.html

相关文章:

  • GPT-4V-Act :一个多模态AI助手,能够像人类一样模拟通过鼠标和键盘进行网页浏览。
  • 剪辑视频怎么把说话声音转成文字?
  • maven打包插件配置模板
  • clusterProfiler包学习
  • 【Qt开发流程之】布局管理
  • 建筑可视化中的 3D 纹理
  • 9.docker镜像Tag为none的原因
  • HTML5学习系列之响应式图像
  • 基于数据库(MySQL)与缓存(Redis)实现分布式锁
  • 2023年A特种设备相关管理(锅炉压力容器压力管道)证模拟考试题库及A特种设备相关管理(锅炉压力容器压力管道)理论考试试题
  • 系统及其存储相关
  • 鸿蒙原生应用开发-折叠屏、平板设备服务卡片适配
  • android查漏补缺(8)Android广播不同种类介绍
  • 什么是美颜SDK?直播美颜SDK技术深度剖析
  • 红海营销时代,内容占位的出海品牌更有机会营销占位
  • 解决龙芯loongarch64服务器编译安装Python后yum命令无法使用的问题“no module named ‘dnf‘”
  • Leetcode2937. 使三个字符串相等
  • <MySQL> 如何合理的设计数据库中的表?数据表设计的三种关系
  • 基于操作系统讨论Java线程与进程、浅谈Go的线程与管程
  • CICD 持续集成与持续交付——jenkins
  • 【Zabbix】Zabbix Agent 2在Ubuntu/Debian系统上的安装
  • 浅谈无线测温产品在菲律宾某工厂配电项目的应用
  • 软件工程第十一周
  • 【从入门到起飞】JavaSE—带你了解Map,HashMap,TreeMap的使用方法
  • [Docker]六.Docker自动部署nodejs以及golang项目
  • FPC焊点剥离失效分析
  • Java爬虫框架下代理使用中的TCP连接池问题及解决方案
  • PostgreSQL 数据定义语言 DDL
  • 设计模式-行为型模式-策略模式
  • ResizeObserver观察元素宽度的变化