TensorFlow实现简单的卷积神经网络图像识别
import tensorflow as tf
import numpy as np
from PIL import Image
#读入照片地址
readImage=Image.open("3033.jpg")
readImage.show()
#通过高斯分布随机生成4维卷积核(标准差默认为1.0,可以不写)
A=tf.truncated_normal([3,3,3,3],stddev=1.0)
matrix=np.asarray(readImage).astype("float32")
#加了一维
ma=tf.expand_dims(matrix,0)
#转换成tf变量,并转换成浮点类型32位
input_data=tf.Variable(ma,dtype="float32")
filter_data=tf.Variable(A,dtype="float32")
#进行卷积
conv2=tf.nn.conv2d(input_data,filter_data,[1,1,1,1],"SAME")
#进行池化
conv2=tf.nn.avg_pool(conv2,ksize=[1,2,2,1],strides=[1,2,2,1],padding="SAME"),
#删除一维度
res=tf.squeeze(conv2,axis=0)
#初始化
init_op=tf.global_variables_initializer()
with tf.Session as sess:
sess.run(init_op)
#执行
a=res.eval()
#防止图片乱码
img2=Image.fromarray(a.astype(np.uint8))
#显示图片
img2.show()
- 上一篇 »tensorflow实现循环神经网络
- 下一篇 »【python实现卷积神经网络】全连接层实现