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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.