-
手写字体识别
2019-07-10 13:40:281.完成手写字体识别kaggle比赛:https://www.kaggle.com/c/digit-recognizer 2.环境:谷歌云盘(内有GPU运算,速度比我自己电脑快好多倍) 3.手写字体文件 train.csv文件第一列是图像标签,后面784(28*28)列是...1.完成手写字体识别kaggle比赛:https://www.kaggle.com/c/digit-recognizer
2.环境:谷歌云盘(内有GPU运算,速度比我自己电脑快好多倍)
3.手写字体文件
train.csv文件第一列是图像标签,后面784(28*28)列是像素。
test.csv文件是784列像素。
sample_submission.csv是提交的文件
4.谷歌云盘启动
from google.colab import drive drive.mount('/content/drive/') !ls "/content/drive/My Drive/" import tensorflow as tf tf.test.gpu_device_name() !ls # 切换目录 import os os.chdir("/content/drive/My Drive/home") !ls
5.预处理图像
# 预处理数据 import keras import pandas as pd import numpy as np from keras.utils import np_utils dataset = pd.read_csv('train.csv') dataset = np.array(dataset) x = dataset[:,1:] x = x/255 x = x.reshape(-1,28,28,1) y = dataset[:,0] y = np_utils.to_categorical(y) print(x.shape) print(y.shape)
6.构建模型训练
from keras.layers.convolutional import Conv2D, MaxPooling2D from keras.layers import * from keras.models import Sequential def creat_model(): model = Sequential() model.add(Conv2D(32,(5,5), padding='same',input_shape=(28,28,1),activation='relu')) model.add(Conv2D(64,(5,5), padding='same',activation='relu')) model.add(MaxPooling2D((2,2))) model.add(Dropout(0.3)) model.add(Flatten()) model.add(Dense(64,activation= 'relu')) model.add(Dropout(0.3)) model.add(Dense(128,activation= 'relu')) model.add(Dropout(0.3)) model.add(Dense(10,activation= 'softmax')) model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) return model model = creat_model() print(model.summary()) model.fit(x=x,y=y,epochs=10,batch_size=20)
7.数据预测
dataset2 = pd.read_csv('test.csv') dataset2 = np.array(dataset2) dataset2 = dataset2.reshape(-1,28,28,1) print(dataset2.shape) y = model.predict(dataset2) print(y.shape) y = np.argmax(y,axis=1) test = pd.read_csv('sample_submission.csv') test = np.array(test) for i in range(len(y)): test[i][1] = y[i] test = pd.DataFrame(test,columns=['ImageId', 'Label']) print(test) test.to_csv('sample_submission.csv',index=False)
8.比赛成绩
准确率98.428%,那个模型训练多一下次数准确率应该可以去到更好。
9.项目截图
-
LSTM手写字体识别
2019-04-17 12:03:53在手写字体识别上,用10个epoch训练结果准确率可以达到98.9% -
SVM的手写字体识别
2018-01-23 16:03:58利用支持向量机算法进行手写字体识别利用支持向量机算法进行手写字体识别。。。。。。 -
Tensorflow手写字体识别入门
2017-08-17 10:18:16官方入门的手写字体识别能运行的那种… -
深度学习caffe--手写字体识别例程(一)——运行手写字体识别例程
2020-02-17 14:13:49学习caffe深度学习框架时,最基本的一个应用实例是手写字体识别例程,这是caffe自带的例程,通过这个例程可以了解caffe框架使用的一个基本流程。在这个例程中,知识点比较多,在这篇文章中,我们只关系操作相关的...学习caffe深度学习框架时,最基本的一个应用实例是手写字体识别例程,这是caffe自带的例程,通过这个例程可以了解caffe框架使用的一个基本流程。在这个例程中,知识点比较多,在这篇文章中,我们只关系操作相关的内容,不进行代码和理论分析,让大家先把例程跑通,然后再分成几篇文章对这个例程的知识点进行介绍。 这个例程的样板是MNIST数据集,它是一个大型手写体数字的数据库,包含了60000个训练集和10000个测试集,每张图都已经进行了尺寸归一化,数字居中处理,固定尺寸为28像素X28像素。数据集的样本如下图所示。这个例程我们使用这个数据库对caffe网络进行训练,并用训练的网络进行预测。
1、下载MNIST数据集
这个例程,我们在caffe的安装目录下进行,首先我们在终端中进入到caffe安装目录,然后执行下面的命令
cd data/mnist ./get_mnist.sh
这两个命令的作用是进入到mnist文件夹,并且采用get_mnist.sh脚本文件来下载MNIST数据集。成功执行命令之后,在文件夹下下载下来4个文件,分别为:t10k-images-idx3-ubyte、t10k-labels-idx1-ubyte、 train-images-idx3-ubyte、train-labels-idx1-ubyte。它们分别是测试集图片文件、测试集标签文件、训练集图片文件、训练集标签文件。
关于这些文件的详解,会在后面的文章中进行。这里可以先不管这几个文件。2、数据集格式转换
上一步我们下载到的数据集为二进制文件,无法直接用于caffe网络的训练,我们需要把它准话为LMDB格式的文件。
在caffe的根目录下,执行下面的命令./examples/mnist/create_mnist.sh
执行完之后,在example/mnist/目录下,生成了两个文件夹mnist_train_lmdb和mnist_test_lmdb,在这两个文件夹下每个文件夹下包含两个文件data.mdb和lock.mdb。这4个文件就是转换完成的LMDB格式的训练集和测试集文件。
3、训练模型
在这个实例中,我们使用的深度学习网络为LeNet-5网络模型,它的描述文件为examples/mnist/lenet_train_test.prototxt,训练和测试的求解器的描述文件为examples/mnist/lenet_solver.prototxt。
这一步我们对模型参数进行训练,在训练之前首先打开lenet_solver.prototxt文件。文件的最后一行修改为
solver_mode: CPU
即采用CPU模式。
在caffe根目录下采用下面的命令对模型进行训练./examples/mnist/train_lenet.sh
模型开始训练,在终端上会打印出训练日志,训练日志内容比较多,经过我们以后的讲解后我们会明白训练日志的每一条的作用,这里我们先不用深究日志的内容。训练日志的最后,如下所示。
I0207 15:20:14.125481 7502 solver.cpp:414] Test net output #0: accuracy = 0.9913 I0207 15:20:14.125722 7502 solver.cpp:414] Test net output #1: loss = 0.0262061 (* 1 = 0.0262061 loss) I0207 15:20:14.125864 7502 solver.cpp:332] Optimization Done. I0207 15:20:14.125982 7502 caffe.cpp:250] Optimization Done.
打印出了测试的识别精度和损失。
训练之后,在/examples/mnist/目录下生成了四个新的文件:lenet_iter_5000.caffemodel、lenet_iter_5000.solverstate、lenet_iter_10000.caffemodel、lenet_iter_10000.solverstate,它们分别为进行了5000次和10000次迭代式生成的快照,快照包含权值文件.caffemodel和求解器状态文件.solverstate。
4、数据预测
在上一步中,我们完成了模型的训练,这一步,我们用训练好的模型参数进行预测,在caffe根目录下执行下面的命令
./build/tools/caffe.bin test -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel -iterations 100
这个命令是调用caffe.bin对模型的识别效果进行预测,test表示处于测试状态,-model examples/mnist/lenet_train_test.prototxt指定了预测使用的模型,与我们训练时使用的模型一样,-weights examples/mnist/lenet_iter_10000.caffemodel指定预测使用的权值文件为我们上一步训练得到的权值文件,-iterations 100表示迭代次数为100次。
执行之后,在终端中打印的日志的最后两行为
I0217 13:54:22.387477 28867 caffe.cpp:321] accuracy = 0.9913 I0217 13:54:22.387509 28867 caffe.cpp:321] loss = 0.0262061 (* 1 = 0.0262061 loss)
给出了识别精度和损失。至此我们完成了手写字体识别的例程测试。
-
kaggle+mnist实现手写字体识别
2020-09-20 05:21:01主要为大家详细介绍了kaggle+mnist实现手写字体识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
mnist手写字体识别之KNN.zip
2019-07-02 22:10:54mnist手写字体识别之KNN,用的python代码,本科课程作业,内含MNIST手写字体数据集,含代码等等 -
mnist手写字体识别之随机森林.zip
2019-07-02 22:17:41mnist手写字体识别之随机森林,包含了python代码,本科实验的作业,实现了随即森科算法的手写字体识别,含mnist数据集,报告基本要求都有 -
基于Python的手写字体识别系统
2019-01-14 16:57:55用Python写的手写字体识别系统,基于TensorFlow的框架,很适合初学者的学习使用 -
mnist手写字体识别之BP.zip
2019-07-02 22:15:13mnist手写字体识别之BP,包括了python代码,mnist手写字体数据集,本科实验作业,讲的是BP神经网络算法的实现 -
mnist手写字体识别之SVM.zip
2019-07-02 22:13:37mnist手写字体识别之SVM,内含python代码,包括MNIST手写字体数据集,本科实验作业,你想要的基本都有,支持向量机(SVM) -
基于SVM的手写字体识别
2014-08-14 22:21:50基于SVM的手写字体识别 -
基于libsvm的手写字体识别
2014-01-16 09:51:33手写体文字预处理、手写体文字识别代码,基于libsvm的手写字体识别 -
lenet5手写字体识别
2015-10-23 11:25:05LeNet5对应的手写字体识别,无监督学习的方法去pre-training(预训练)stacked CNN的每层网络,然后用BP算法对整个网络进行fine-tuning(微调),并且上一层的输出作为下一层的输入。 -
手写字体识别代码
2012-01-06 10:22:27本实例是一个简单的手写字体识别程序,有学习功能,是一个不错的学习资料,供大家参考。 -
KNN 手写字体识别
2020-07-18 19:38:59df = pd.read_excel('./手写字体识别.xlsx') df.head() 2.提取特征变量和目标变量 X = df.iloc[:,1:] y = df.iloc[:,0] 3.划分训练集和测试集 from sklearn.model_selection import train_test_split X_train, X...KNN手写数字的代码实现
1.读取数据
# 1.读取数据 import pandas as pd df = pd.read_excel('./手写字体识别.xlsx') df.head()
2.提取特征变量和目标变量
X = df.iloc[:,1:] y = df.iloc[:,0]
3.划分训练集和测试集
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=27) X_train.shape, X_test.shape y_train.shape, y_test.shape
((1547, 1024), (387, 1024))
((1547,), (387,))4.模型搭建
from sklearn.neighbors import KNeighborsClassifier as KNN knn = KNN(n_neighbors=5) knn.fit(X_train, y_train)
KNeighborsClassifier(algorithm=‘auto’, leaf_size=30, metric=‘minkowski’,
metric_params=None, n_jobs=None, n_neighbors=5, p=2,
weights=‘uniform’)5.模型预测与评估
y_pred = knn.predict(X_test) y_pred[:100]
array([5, 3, 7, 8, 9, 2, 1, 4, 5, 8, 9, 5, 9, 3, 3, 2, 3, 7, 9, 1, 0, 0,
7, 6, 6, 7, 0, 9, 6, 9, 1, 8, 6, 9, 2, 5, 2, 4, 5, 8, 3, 6, 9, 4,
9, 2, 7, 3, 4, 9, 5, 6, 7, 3, 3, 8, 3, 1, 5, 3, 6, 7, 5, 0, 3, 7,
1, 4, 9, 1, 5, 1, 2, 6, 9, 1, 9, 5, 5, 9, 2, 8, 8, 4, 4, 9, 4, 3,
9, 8, 0, 3, 4, 3, 6, 8, 5, 2, 9, 0], dtype=int64)6.真实预测值对比
arr = pd.DataFrame({'实际值': list(y_test), '预测值': list(y_pred)}) arr.head(10)
7.查看模型准确度
from sklearn.metrics import accuracy_score score = accuracy_score(y_pred, y_test) score
0.979328165374677
score = knn.score(X_test, y_test) score
0.979328165374677
8.图片大小调整及显示
from PIL import Image img = Image.open('./数字5.jpg') img = img.resize((32, 32)) # img.show() img
9.图片灰度处理
img = img.convert('L') # img.show() img
10.图片二值化处理
import numpy as np img_new = img.point(lambda x:0 if x>128 else 1) arr = np.array(img_new) for i in range(arr.shape[1]): print(arr[i])
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]11.将2维数组转为1维
arr_new = arr.reshape(1, -1) arr_new.shape
(1, 1024)
12.利用训练好的模型进行预测
pred_digit = knn.predict(arr_new) pred_digit[0]
5
-
基于bp神经网络的手写字体识别.zip
2020-06-30 15:37:43基于bp神经网络的手写字体识别 有图像 有文献说明 适合新手使用练手. -
2019CNN实现mnist手写字体识别.rar
2019-11-02 22:19:14本人用CNN卷积神经网络编写的手写字体识别,大家可以下载下来参考下,研究生课程的作业 -
实现手写字体识别(90%的识别率)
2020-12-21 12:06:48步骤流程1、环境配置获取百度SDK2、具体实现步骤①获取access_token②手写字体识别③成果展示 1、环境配置 程序整体是由python实现的,环境所包含的第三方库有requests、json、base64、pyinstaller。没有这些库的... -
神经网络实现手写字体识别
2019-02-17 21:15:12神经网络入门学习中,进行了手写字体识别实践,该篇博客用于记录实践代码,以备后续使用。 关键词:神经网络,前向传播、反向传播、梯度下降、权值更新、手写字体识别 1. 实践代码 import numpy as np from sklearn....神经网络入门学习中,进行了手写字体识别实践,该篇博客用于记录实践代码,以备后续使用。
关键词:神经网络,前向传播、反向传播、梯度下降、权值更新、手写字体识别
1. 实践代码
import numpy as np from sklearn.datasets import load_digits from sklearn.preprocessing import LabelBinarizer from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report import matplotlib.pyplot as plt # 载入数据 digits = load_digits() # 显示图片 for i in range(min(digits.images.shape[0], 2)): plt.imshow(digits.images[i], cmap='gray') plt.show() # 数据 X = digits.data # 标签 y = digits.target # 定义一个神经网络,结构,64-100- # 定义输入层到隐藏层之间的权值矩阵 V = np.random.random((64, 100)) * 2 - 1 # 定义隐藏层到输出层之间的权值矩阵 W = np.random.random((100, 10)) * 2 - 1 # 数据切分 # 1/4为测试集,3/4为训练集 X_train, X_test, y_train, y_test = train_test_split(X, y) # 标签二值化 # 0 -> 1000000000 # 3 -> 0003000000 # 9 -> 0000000001 labels_train = LabelBinarizer().fit_transform(y_train) # 激活函数 def sigmoid(x): return 1 / (1 + np.exp(-x)) # 激活函数的导数 def dsigmoid(x): return x * (1 - x) # 训练模型 def train(X, y, steps=10000, lr=0.011): global V, W for n in range(steps + 1): # 随机选取一个数据 i = np.random.randint(X.shape[0]) # 获取一个数据 x = X[i] x = np.atleast_2d(x) # BP算法公式 # 计算隐藏层的输出 L1 = sigmoid(np.dot(x, V)) # 计算输出层的输出 L2 = sigmoid(np.dot(L1, W)) # 计算L2_delta,L1_delta L2_delta = (y[i] - L2) * dsigmoid(L2) L1_delta = L2_delta.dot(W.T) * dsigmoid(L1) # 更新权值 W += lr * L1.T.dot(L2_delta) V += lr * x.T.dot(L1_delta) # 每训练1000次预测一次准确率 if n % 1000 == 0: output = predict(X_test) predictions = np.argmax(output, axis=1) acc = np.mean(np.equal(predictions, y_test)) dW = L1.T.dot(L2_delta) dV = x.T.dot(L1_delta) gradient = np.sum([np.sqrt(np.sum(np.square(j))) for j in [dW, dV]]) print('steps', n, 'accuracy', acc, 'gradient', gradient) # print(classification_report(predictions,y_test)) def predict(x): # 计算隐藏层的输出 L1 = sigmoid(np.dot(x, V)) # 计算输出层的输出 L2 = sigmoid(np.dot(L1, W)) return L2 # 开始训练 train(X_train, labels_train, 20000, lr=0.11) train(X_train, labels_train, 20000, lr=0.011) # 训练后结果对比 output = predict(X_test) predictions = np.argmax(output, axis=1) acc = np.mean(np.equal(predictions, y_test)) print('accuracy', acc) print(classification_report(predictions, y_test, digits=4))
2. 运行结果
steps 1000 accuracy 0.39555555555555555 gradient 1.1540293157343329 steps 2000 accuracy 0.5822222222222222 gradient 0.24060995286476866 steps 3000 accuracy 0.6822222222222222 gradient 0.5377184040200084 steps 4000 accuracy 0.7088888888888889 gradient 0.3105382024238891 steps 5000 accuracy 0.7422222222222222 gradient 0.6367500261759913 steps 6000 accuracy 0.8288888888888889 gradient 0.7925874111147599 steps 7000 accuracy 0.8311111111111111 gradient 0.4219865590227713 steps 8000 accuracy 0.8866666666666667 gradient 0.19398854322579862 steps 9000 accuracy 0.9088888888888889 gradient 0.059956981030795414 steps 10000 accuracy 0.94 gradient 0.060926927213079046 steps 11000 accuracy 0.9222222222222223 gradient 0.0940042676753109 steps 12000 accuracy 0.9488888888888889 gradient 0.007252581282821429 steps 13000 accuracy 0.9422222222222222 gradient 0.0005117412876631392 steps 14000 accuracy 0.9577777777777777 gradient 0.020721130471145828 steps 15000 accuracy 0.9177777777777778 gradient 0.16479326937586997 steps 16000 accuracy 0.9422222222222222 gradient 3.7564619456548263 steps 17000 accuracy 0.9644444444444444 gradient 0.06896903217933802 steps 18000 accuracy 0.9577777777777777 gradient 0.027949995263778806 steps 19000 accuracy 0.9688888888888889 gradient 0.0006993893497620089 steps 20000 accuracy 0.9622222222222222 gradient 0.20674307169673445 steps 0 accuracy 0.9622222222222222 gradient 0.00872206168693661 steps 1000 accuracy 0.9666666666666667 gradient 0.022782881906241878 steps 2000 accuracy 0.9666666666666667 gradient 0.014290994295273446 steps 3000 accuracy 0.9688888888888889 gradient 0.48748927217168325 steps 4000 accuracy 0.9666666666666667 gradient 0.005666292598739775 steps 5000 accuracy 0.9688888888888889 gradient 0.0443512717424438 steps 6000 accuracy 0.9688888888888889 gradient 0.0061561535761366 steps 7000 accuracy 0.9688888888888889 gradient 0.020829652956511197 steps 8000 accuracy 0.9688888888888889 gradient 0.19995065353583805 steps 9000 accuracy 0.9688888888888889 gradient 0.5650831905730958 steps 10000 accuracy 0.9688888888888889 gradient 0.003948413021913768 steps 11000 accuracy 0.9688888888888889 gradient 0.13861557486472081 steps 12000 accuracy 0.9688888888888889 gradient 0.010983126563059315 steps 13000 accuracy 0.9711111111111111 gradient 0.024410425339698696 steps 14000 accuracy 0.9711111111111111 gradient 0.001296347083650798 steps 15000 accuracy 0.9711111111111111 gradient 0.0018664511288084774 steps 16000 accuracy 0.9711111111111111 gradient 0.0032670292289213856 steps 17000 accuracy 0.9711111111111111 gradient 0.017069352701509097 steps 18000 accuracy 0.9688888888888889 gradient 0.0033675869477754346 steps 19000 accuracy 0.9688888888888889 gradient 0.00043959401991603385 steps 20000 accuracy 0.9688888888888889 gradient 0.09278100040345633 accuracy 0.9688888888888889 precision recall f1-score support 0 1.0000 1.0000 1.0000 43 1 0.9787 1.0000 0.9892 46 2 1.0000 1.0000 1.0000 37 3 0.9787 0.9388 0.9583 49 4 0.9091 1.0000 0.9524 50 5 0.9800 0.9800 0.9800 50 6 1.0000 0.9375 0.9677 48 7 0.9565 1.0000 0.9778 44 8 0.9189 0.9714 0.9444 35 9 0.9767 0.8750 0.9231 48 micro avg 0.9689 0.9689 0.9689 450 macro avg 0.9699 0.9703 0.9693 450 weighted avg 0.9701 0.9689 0.9687 450
-
pytorch CNN手写字体识别
2019-04-23 21:50:40## """CNN手写字体识别""" import torch import torch.nn as nn from torch.autograd import Variable import torch.utils.data as Data import torchvision #其中包括一些数据库(图片...) import matplotlib.... -
python手写字体程序_深度学习---手写字体识别程序分析(python)
2020-12-05 21:24:54我想大部分程序员的第一个程序应该都是“hello world”,在深度学习领域,这个“hello world”程序就是手写字体识别程序。这次我们详细的分析下手写字体识别程序,从而可以对深度学习建立一个基本的概念。1.初始化... -
机器学习手写字体识别代码
2020-02-24 21:01:27机器学习,运用神经网络对手写字体进行识别 -
tensorflow手写字体识别
2019-05-03 19:35:49基于python,tensorflow实现的关于手写数字的识别。适于初学者 -
基于SVM的手写字体识别(Python版本)
2017-09-07 20:16:42这是一份基于支持向量机(SVM)的手写字体识别源代码(Python版本),目前只支持二分类识别。实现了快速SMO算法。 -
pytorch rnn 实现手写字体识别
2020-03-19 11:51:43pytorch rnn 实现手写字体识别 构建 RNN 代码加载数据使用RNN 训练 和测试数据 构建 RNN 代码 import torch import torch.nn as nn from torch.autograd import Variable import torch.utils.data as Data import...