学习笔记TF012:卷积网络简述

清醒疯子 发布于 2017年05月22日 | 更新于 2017年05月22日
无人欣赏。

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.maxpool)、全连接层(tf.nn.matmul)。突出重要信息,忽略噪声。批量加载图像,同时处理多幅图像。数据结构包含卷积运算整批图像全部信息。TensorFlow输入流水线(读取解码文件)针对整批数据多幅图像处理专门格式,图像所需信息([imagebatchsize,imageheight,imagewidth,imagechannels])。

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

暂无回复
登录 或者 注册