tensorflow实现卷积神经网络经典案例--识别手写数字

tensorflow实现卷积神经网络经典案例--识别手写数字

ID:39349304

大小:244.00 KB

页数:8页

时间:2019-07-01

tensorflow实现卷积神经网络经典案例--识别手写数字_第1页
tensorflow实现卷积神经网络经典案例--识别手写数字_第2页
tensorflow实现卷积神经网络经典案例--识别手写数字_第3页
tensorflow实现卷积神经网络经典案例--识别手写数字_第4页
tensorflow实现卷积神经网络经典案例--识别手写数字_第5页
资源描述:

《tensorflow实现卷积神经网络经典案例--识别手写数字》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、yotensorflow实现卷积神经网络经典案例--识别手写数字importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportmatplotlib.cmascm%matplotlibinlineimporttensorflowastf#参数设置learning_rate=1e-4training_iterations=2000dropout=0.5batch_size=50#所有的训练样本分批训练的效率最高,每一批的训练样本数量就是batchvalidation_size=2000imag

2、e_to_display=10数据准备:data=pd.read_csv('.../train.csv')images=data.iloc[:,1:].valuesimages=images.astype(np.float)#对训练数据进行归一化处理,[0:255]=>[0.0:1.0]images=np.multiply(images,1.0/255.0)#print('images({0[0]},{0[1]})'.format(images.shape))可以查看数据格式,输出结果为'data(42000,784)'image_size=images.

3、shape[1]image_width=image_height=np.ceil(np.sqrt(image_size)).astype(np.uint8)#定义显示图片的函数defdisplay(img):#从784=>28*28one_img=img.reshape(image_width,image_height)plt.axis('off')plt.imshow(one_img,cmap=cm.binary)display(images[10])#显示数据表格中第十条数据代表的数字,结果如下图labels_flat=data.iloc[:,0].v

4、alues.ravel()labels_count=np.unique(labels_flat).shape[0]#定义one-hot编码函数defdense_to_one_hot(labels_dense,num_classes):num_labels=labels_dense.shape[0]index_offset=np.arange(num_labels)*num_classeslabels_one_hot=np.zeros((num_labels,num_classes))labels_one_hot.flat[index_offset+labe

5、ls_dense.ravel()]=1returnlabels_one_hotlabels=dense_to_one_hot(labels_flat,labels_count)labels=labels.astype(np.uint8)#print(labels[10])的输出结果为'[0000000010]',代表数据集中第10个数字的实际值为'8'#将数据拆分成用于训练和验证两部分validation_images=images[:validation_size]#将训练的数据分为train和validation,validation的部分是为了对比不

6、同模型参数的训练效果,如:learning_rate,training_iterations,dropoutvalidation_labels=labels[:validation_size]train_images=images[validation_size:]train_labels=labels[validation_size:]定义权重、偏差、卷积图层、池化图层:#定义weightdefweight_variable(shape):initial=tf.truncated_normal(shape,stddev=0.1)returntf.Vari

7、able(initial)#定义biasdefbias_variable(shape):initial=tf.constant(0.1,shape=shape)returntf.Variable(initial)#定义二维的卷积图层defconv2d(x,W):returntf.nn.conv2d(x,W,strides=[1,1,1,1],padding='SAME')#定义池化图层defmax_pool_2x2(x):returntf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SA

8、ME')权重weight和偏置bias其实可以写成python的输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。