深度学习卷积神经网络代码


卷积神经网络在图像识别应用,此压缩包包括代码。
资源截图
代码片段和文件信息
# -*- coding: utf-8 -*-
“““

@author: Mingming
“““
import tensorflow as tf 
import tensorflow.examples.tutorials.mnist.input_data as input_data
import os
import cv2
import numpy as np
mnist = input_data.read_data_sets(“MNIST_data/“ one_hot=True)     #下载并加载mnist数据
x = tf.placeholder(tf.float32 [None 784])                        #输入的数据占位符
y_actual = tf.placeholder(tf.float32 shape=[None 10])            #输入的标签占位符

#定义一个函数,用于初始化所有的权值 W
def weight_variable(shape):
  initial = tf.truncated_normal(shape stddev=0.01)
  return tf.Variable(initial)

#定义一个函数,用于初始化所有的偏置项 b
def bias_variable(shape):
  initial = tf.constant(0.1 shape=shape)
  return tf.Variable(initial)
  
#定义一个函数,用于构建卷积层
def conv2d(x W):
  return tf.nn.conv2d(x W strides=[1 1 1 1] padding=‘SAME‘)

#定义一个函数,用于构建池化层
def max_pool(x):
  return tf.nn.max_pool(x ksize=[1 2 2 1]strides=[1 2 2 1] padding=‘SAME‘)

def predict(image):
  if os.path.exists(“./modelSave/checkpoint“):
    saver.restore(sess“./modelSave/model.ckpt“)
  print(sess.run(tf.argmax(y_predict1)feed_dict={x_image:[image]keep_prob:1}))
  #print(tf.argmax(y_predict1))
  


#构建网络
x_image = tf.reshape(x [-128281])         #转换输入数据shape以便于用于网络中
W_conv1 = weight_variable([5 5 1 32])      
b_conv1 = bias_variable([32])       
h_conv1 = tf.nn.relu(conv2d(x_image W_conv1) + b_conv1)     #第一个卷积层
h_pool1 = max_pool(h_conv1)                                  #第一个池化层

W_conv2 = weight_variable([5 5 32 64])
b_conv2 = bias_variable([64])
h_conv2 = tf.nn.relu(conv2d(h_pool1 W_conv2) + b_conv2)      #第二个卷积层
h_pool2 = max_pool(h_conv2)                                   #第二个池化层

W_fc1 = weight_variable([7 * 7 * 64 1024])
b_fc1 = bias_variable([1024])
h_pool2_flat = tf.reshape(h_pool2 [-1 7*7*64])              #reshape成向量
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat W_fc1) + b_fc1)    #第一个全连接层

keep_prob = tf.placeholder(“float“) 
h_fc1_drop = tf.nn.dropout(h_fc1 keep_prob)                  #dropout层

W_fc2 = weight_variable([1024 10])
b_fc2 = bias_variable([10])
y_predict=tf.nn.softmax(tf.matmul(h_fc1_drop W_fc2) + b_fc2)   #softmax层

cross_entropy = -tf.reduce_sum(y_actual*tf.log(y_predict))     #交叉熵
train_step = tf.train.RMSPropOptimizer(1e-7).minimize(cross_entropy)    #梯度下降法
correct_prediction = tf.equal(tf.argmax(y_predict1) tf.argmax(y_actual1))    
accuracy = tf.reduce_mean(tf.cast(correct_prediction “float“))                 #精确度计算
sess=tf.InteractiveSession()                          
#sess.run(tf.initialize_all_variables())
#sess.run(tf.global_variables_initializer())
saver = tf.train.Saver()
if not os.path.exists(“modelSave“):
  os.mkdir(“modelSave“)
def train():
  if os.path.exists(“./modelSave/model.ckpt.index“):
    saver.restore(sess“./modelSave/model.ckpt“)
  for i in range(20000):
    batch = mnist.train.next_batch(100)
    if i%100 == 0:                  #训练100次,验证一次
      train_acc = accuracy.eval(feed_dict={x:batch[0] y_actual: batch[1] keep_prob: 1.0})
      print(‘step‘i‘trainin

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-21 20:01  CNN_Test
     目录           0  2019-03-21 09:14  CNN_TestMNIST_data
     文件     1648877  2018-08-08 21:27  CNN_TestMNIST_data 10k-images-idx3-ubyte.gz
     文件     9912422  2018-08-08 21:27  CNN_TestMNIST_data rain-images-idx3-ubyte.gz
     文件       28881  2018-08-08 21:27  CNN_TestMNIST_data rain-labels-idx1-ubyte.gz
     文件        4542  2018-08-08 21:27  CNN_TestMNIST_data 10k-labels-idx1-ubyte.gz
     文件        8196  2019-03-21 20:39  CNN_Test.DS_Store
     目录           0  2019-03-21 20:42  __MACOSX
     目录           0  2019-03-21 20:42  __MACOSXCNN_Test
     文件         120  2019-03-21 20:39  __MACOSXCNN_Test._.DS_Store
     文件        3847  2019-03-21 20:02  CNN_TestCNN.py
     文件         493  2019-03-21 19:16  CNN_TestConvolution_without_pool.py
     文件         210  2019-03-21 19:16  __MACOSXCNN_Test._Convolution_without_pool.py
     文件        1417  2019-03-21 18:53  CNN_TestConvolutionTest.py
     文件         176  2019-03-21 18:53  __MACOSXCNN_Test._ConvolutionTest.py
     目录           0  2019-03-21 10:52  CNN_Test estEvalPics
     文件        6148  2019-03-21 18:19  CNN_Test estEvalPics.DS_Store
     目录           0  2019-03-21 20:42  __MACOSXCNN_Test estEvalPics
     文件         120  2019-03-21 18:19  __MACOSXCNN_Test estEvalPics._.DS_Store
     文件       33447  2019-03-21 10:46  CNN_Test estEvalPics est7.jpg
     文件         210  2019-03-21 10:46  __MACOSXCNN_Test estEvalPics._test7.jpg
     文件       11446  2019-03-21 10:49  CNN_Test estEvalPics est5.png
     文件         588  2019-03-21 10:49  __MACOSXCNN_Test estEvalPics._test5.png
     文件       16475  2019-03-21 10:50  CNN_Test estEvalPics est5.jpg
     文件         210  2019-03-21 10:50  __MACOSXCNN_Test estEvalPics._test5.jpg
     文件       15982  2019-03-21 10:52  CNN_Test estEvalPics est2.jpg
     文件         210  2019-03-21 10:52  __MACOSXCNN_Test estEvalPics._test2.jpg
     文件       15982  2019-03-21 10:51  CNN_Test estEvalPics est2
     文件         323  2019-03-21 10:51  __MACOSXCNN_Test estEvalPics._test2
     目录           0  2019-03-21 19:59  CNN_TestmodelSave
     文件       64472  2019-03-21 19:58  CNN_TestmodelSavemodel.ckpt.meta
............此处省略3个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)