【神经网络学习笔记2】简单的CNN网络识别手写图案

本文通过TensorFlow官方样例介绍如何构建简单的卷积神经网络(CNN)模型,用于识别手绘的O和X图案。由于样本数量有限(120张),采用标准梯度下降法,训练集和测试集各为100和20张。实验结果显示,模型在20张测试图像上的准确率稳定在90%以上,展示了CNN在图像识别任务中的有效性。
摘要由CSDN通过智能技术生成

本篇文章还是基于tensorflow给的官方样例,教会大家如何构建简单的CNN网络以下是官方代码

tensorflow官方样例 CNN网络

conv2d定义的是卷积层

maxpool2d定义的是池化层

conv_net定义的是具体的网络运算过程,其中fc定义的是全连接层

可以很方便地修改各层的参数,如深度,广度等

我用来解决的问题是来识别手写的O和X,MNIST不知道为啥在我的电脑上装不上去。

训练集与测试集是我自己手写出来的,总共120张,因为样本比较小,所以采取的是标准梯度下降法。

以下是我的代码。前面加的num_step和num_test是用来定义训练集和测试集的数量的,这里选取的是100和20。同时我的程序为了方便选择直接读取图片。最后加上了loss_op和acc关于时间的变化。

from __future__ import division, print_function, absolute_import
import numpy as np
import tensorflow as tf
import string
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 

# Training Parameters
learning_rate = 0.001
num_steps = 100
num_test = 20
display_step = 4

# Network Parameters
num_input = 81 # data input 
num_classes = 2 # total classes 
dropout = 0.75 # Dropout, probability to keep units

fd=open('inputimage.txt','w')
imga=np.zeros((num_steps,num_input))
try_imga=np.zeros((num_test,num_input))
for k in range(num_steps+num_test):
    img=mpimg.imread(str(k+1)+'.png')
    img=(img[:,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值