• 大小: 40.96MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-05
  • 语言: 其他
  • 标签: 深度学习  

资源简介

卷积神经网络在图像识别应用,此压缩包包括代码。

资源截图

代码片段和文件信息

# -*- 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_Test\MNIST_data\
     文件     1648877  2018-08-08 21:27  CNN_Test\MNIST_data\t10k-images-idx3-ubyte.gz
     文件     9912422  2018-08-08 21:27  CNN_Test\MNIST_data\train-images-idx3-ubyte.gz
     文件       28881  2018-08-08 21:27  CNN_Test\MNIST_data\train-labels-idx1-ubyte.gz
     文件        4542  2018-08-08 21:27  CNN_Test\MNIST_data\t10k-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  __MACOSX\CNN_Test\
     文件         120  2019-03-21 20:39  __MACOSX\CNN_Test\._.DS_Store
     文件        3847  2019-03-21 20:02  CNN_Test\CNN.py
     文件         493  2019-03-21 19:16  CNN_Test\Convolution_without_pool.py
     文件         210  2019-03-21 19:16  __MACOSX\CNN_Test\._Convolution_without_pool.py
     文件        1417  2019-03-21 18:53  CNN_Test\ConvolutionTest.py
     文件         176  2019-03-21 18:53  __MACOSX\CNN_Test\._ConvolutionTest.py
     目录           0  2019-03-21 10:52  CNN_Test\testEvalPics\
     文件        6148  2019-03-21 18:19  CNN_Test\testEvalPics\.DS_Store
     目录           0  2019-03-21 20:42  __MACOSX\CNN_Test\testEvalPics\
     文件         120  2019-03-21 18:19  __MACOSX\CNN_Test\testEvalPics\._.DS_Store
     文件       33447  2019-03-21 10:46  CNN_Test\testEvalPics\test7.jpg
     文件         210  2019-03-21 10:46  __MACOSX\CNN_Test\testEvalPics\._test7.jpg
     文件       11446  2019-03-21 10:49  CNN_Test\testEvalPics\test5.png
     文件         588  2019-03-21 10:49  __MACOSX\CNN_Test\testEvalPics\._test5.png
     文件       16475  2019-03-21 10:50  CNN_Test\testEvalPics\test5.jpg
     文件         210  2019-03-21 10:50  __MACOSX\CNN_Test\testEvalPics\._test5.jpg
     文件       15982  2019-03-21 10:52  CNN_Test\testEvalPics\test2.jpg
     文件         210  2019-03-21 10:52  __MACOSX\CNN_Test\testEvalPics\._test2.jpg
     文件       15982  2019-03-21 10:51  CNN_Test\testEvalPics\test2
     文件         323  2019-03-21 10:51  __MACOSX\CNN_Test\testEvalPics\._test2
     目录           0  2019-03-21 19:59  CNN_Test\modelSave\
     文件       64472  2019-03-21 19:58  CNN_Test\modelSave\model.ckpt.meta
............此处省略3个文件信息

评论

共有 条评论