【汉字识别】matlab基于卷积神经网络手写汉字识别【源码34】

一、简介

matlab基于卷积神经网络手写汉字识别,手写汉字识别是基于CNN的图像分类任务之一。它利用CNN从原始图像中提取特征,然后通过分类器对汉字进行分类。由于手写汉字图像具有多样性、复杂性等特点,因此需要设计合适的CNN模型以实现高效的识别。

二、部分源码

clc; clear all; close all;%清空命内容,清空所有变量
warning off all;%取消所有警告
% 获取字符集
fd = fullfile(pwd, 'images', 'dbx');
imds = imageDatastore(fd, ...
    'IncludeSubfolders',true,'LabelSource','foldernames');
classes = categories(imds.Labels);
rateTrainFiles = 3/4;
image_size = [28 28 1];%输入层数据集的标签大小,
class_number = length(classes);%标签的数量长度
layers = get_self_net(image_size, class_number);
inputSize = layers(1).InputSize;%输入输入层的标签大小
imdsTrain = augmentedImageDatastore(inputSize(1:2),imdsTrain,'ColorPreprocessing','rgb2gray');
MaxEpochs = 10;%训练最大次数
InitialLearnRate = 0.001;%初始学习率
MiniBatchSize = 50;%每次迭代使用的数据量的大小
ExecutionEnvironment = 'auto';%自动创建
options_train = trainingOptions('sgdm',...
    'MaxEpochs',MaxEpochs,...
    'InitialLearnRate',InitialLearnRate,...
    'Verbose',true,'MiniBatchSize', MiniBatchSize,...
    'Plots','training-progress',...
    'ValidationData',augimdsValidation , ...
    'ValidationFrequency',10, ...
    'ExecutionEnvironment', ExecutionEnvironment);
%保存网格
net_file = 'cnn_net.mat';
if exist(net_file, 'file')
    load(net_file);
else
    net = trainNetwork(imdsTrain, layers, options_train);
    % 存储网络
    save(net_file, 'net');
end

三、运行结果

四、matlab版本

MATLAB R2019a

五、学习与交流

文中不足之处请大家多多指教,学习与交流可以联系企鹅:3752243968
文中部分源码仅供参考,若需要全部代码可以私信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值