ImageNet http://www.image-net.org ,图像标注信息数据库。每年举办大规模视觉识别挑战赛(ILSVRC)。基于ImageNet数据库构建完成目标自动检测分类任务系统。2012年,SuperVision提交卷积神经网络(CNN)。

CNN可用于任意类型数据张量(各分量与相关分量有序排列在多维网格),当前主要用于计算机视觉。语音识别,输入按录音时间顺序排列声音频率单行网络张量。图像宽高次序排列网格像素分量张量。

训练CNN模型数据集Stanford's Gogs Dataset: http://vision.stanford.edu/aditya86/ImageNetDogs/ 。包含不同品种狗图像及品种标签。模型目标:给定一幅图像,预测狗品种。大量非训练集图像创建测试集。数据集:训练集、测试集、验证集。数据集中大部分构成训练集。测试集了解模型对未训练数据表现。交叉验证集比较客观,对图像预处理(对比度调整、栽剪)划分原始数据集,用完全相同输入流水线。

卷积神经网络至少包含一个层(tf.nn.conv2d)。计算输入f与一组可配置卷积核g的卷积,生成层输出。卷积核(滤波器)应用张量所有点,输入张量上滑动卷积核生成过滤波处理张量。图像每个元素应用特殊卷积核,输出刻画所有边缘新图像。输入张量是图像,张量每个点对应像素红、绿、蓝色值。卷积核遍历图像像素,边缘像素卷积输出值增大。神经元簇依据训练模式激活。训练,多个不同层级联,梯度下降法变体调节卷积核(滤波器)权值。

CNN架构,卷积层(tf.nn.conv2d)、非线性变换层(tf.nn.relu)、池化层(tf.nn.max_pool)、全连接层(tf.nn.matmul)。突出重要信息,忽略噪声。批量加载图像,同时处理多幅图像。数据结构包含卷积运算整批图像全部信息。TensorFlow输入流水线(读取解码文件)针对整批数据多幅图像处理专门格式,图像所需信息([image_batch_size,image_height,image_width,image_channels])。

 

import tensorflow as tf
image_batch = tf.constant([
[#第1幅图像
[[0, 255, 0], [0, 255, 0], [0, 255, 0]],
[[0, 255, 0], [0, 255, 0], [0, 255, 0]]
],
[#第2幅图像
[[0, 0, 255], [0, 0, 255], [0, 0, 255]],
[[0, 0, 255], [0, 0, 255], [0, 0, 255]]
]
])
image_batch.get_shape()
sess = tf.Session()
sess.run(image_batch)[0][0][0]


第1组维度图像数量。第2组维度图像高度。第3组维度图像宽度。第4组维度颜色通道数量。每个像素索引映射图像宽高维度。

参考资料:
《面向机器智能的TensorFlow实践》

欢迎加我微信交流:qingxingfengzi
我的微信公众号:qingxingfengzigz
我老婆张幸清的微信公众号:qingqingfeifangz