葡萄娱乐场边界填充,学习笔记TF013

卷积运算,四个输入张量(输入数据和卷积核)实行卷积,输出代表来自各种输入的音信张量。tf.nn.conv二d完毕卷积运算。卷积核(kernel),权值、滤波器、卷积矩阵或模版,filter。权值训练习得。卷积核(filter参数)权值数量控制须求学习卷积核数量。通道,计算机器视觉,描述输出向量。PRADOGB图像,三个象征秩一张量[red,green,blue]通道。输出与input_batch同秩张量,与卷积核维数相同。八个张量卷积生成特色图(feature
map)。特征图为出口添加新层代表张量卷积。访问输入批数量和特色图成分用平等索引,可通晓输入与kernel卷积运算值变化。层,输出新维度。

卷积运算,多个输入张量(输入数据和卷积核)实行卷积,输出代表来自各样输入的信息张量。tf.nn.conv二d到位卷积运算。卷积核(kernel),权值、滤波器、卷积矩阵或模版,filter。权值训练习得。卷积核(filter参数)权值数量控制需求学习卷积核数量。通道,总计机器视觉,描述输出向量。XC90GB图像,二个代表秩壹张量[red,green,blue]通道。输出与input_batch同秩张量,与卷积核维数相同。七个张量卷积生成特征图(feature
map)。特征图为出口添加新层代表张量卷积。访问输入批数量和天性图成分用同一索引,可通晓输入与kernel卷积运算值变化。层,输出新维度。

总括机视觉卷积价值,修改卷积核strides(跨度)参数完毕输入降维。strides参数使卷积核无需遍历每一种输入成分,跳过局地图像像素。kernel在input_batch滑动,跨过一些因素,每回活动以input_batch二个成分为宗旨。地方重叠值相乘,乘积相加,得卷积结果。逐点相乘,整合多个输入。设置跨度,调整输入张量维数。降维裁减运算量,制止重叠感受域。strides参数格式与输入向量相同(image_batch_size_stride、image_height_stride、image_width_stride、image_channels_stride)。

总结机视觉卷积价值,修改卷积核strides(跨度)参数达成输入降维。strides参数使卷积核无需遍历每一个输入成分,跳过一些图像像素。kernel在input_batch滑动,跨过壹些因素,每一回运动以input_batch多个因素为着力。地方重叠值相乘,乘积相加,得卷积结果。逐点相乘,整合三个输入。设置跨度,调整输入张量维数。降维收缩运算量,幸免重叠感受域。strides参数格式与输入向量相同(image_batch_size_stride、image_height_stride、image_width_stride、image_channels_stride)。

边界填充,卷积核与图像尺寸不协作,填充图像缺点和失误区域。TensorFlow用0填充。padding参数控制conv二d零填充数或不当状态。SAME:卷积输出输入尺寸相同,不思考滤波器尺寸,缺失像素填充0,卷积核扫像素数大于图像实际像素数。VALID:考虑滤波器尺寸。尽量不通过图像边界,也说不定边界被填充。

边界填充,卷积核与图像尺寸不相称,填充图像缺点和失误区域。TensorFlow用0填充。padding参数控制conv二d零填充数或不当状态。SAME:卷积输出输入尺寸相同,不考虑滤波器尺寸,缺失像素填充0,卷积核扫像素数大于图像实际像素数。VALID:思虑滤波器尺寸。尽量不通过图像边界,也说不定边界被填充。

data_format修改数据格式。NHWC钦命输入输出数据格式,[batch_size(批数量张量数)、in_height(批数量张量中度)、in_width(批数量张量宽度)、in_channels(批数量张量通道数)]。NCHW内定输入输出数据格式,[batch_size、in_channels、in_height、in_width]。

data_format修改数据格式。NHWC钦定输入输出数据格式,[batch_size(批数量张量数)、in_height(批数量张量中度)、in_width(批数量张量宽度)、in_channels(批数量张量通道数)]。NCHW内定输入输出数据格式,[batch_size、in_channels、in_height、in_width]。

TensorFlow滤波器参数内定输入卷积运算卷积核。滤波器使用一定情势突出图像中感兴趣特征。图像与边缘检测卷积核的卷积输出是有所检查评定边缘区域。tf.minimum和tf.nn.relu使卷积值保持在LacrosseGB颜色值合法范围[0,255]内。卷积核初值随机设定,操练迭代,值由CNN学习层自动调整,练习一迭代,接收图像,与卷积核卷积,预测结果与图像真实标签是还是不是相同,调整卷积核。

TensorFlow滤波器参数内定输入卷积运算卷积核。滤波器使用一定情势出色图像中感兴趣特征。图像与边缘检验卷积核的卷积输出是有着检验边缘区域。tf.minimum和tf.nn.relu使卷积值保持在EscortGB颜色值合法范围[0,255]内。卷积核初值随机设定,练习迭代,值由CNN学习层自动调整,陶冶1迭代,接收图像,与卷积核卷积,预测结果与图像真实标签是不是相同,调整卷积核。

 

import tensorflow as tf
input_batch = tf.constant([
        [#第1个输入
            [[0.0],[1.0]],
            [[2.0],[3.0]]
        ],
        [#第2个输入
            [[2.0],[4.0]],
            [[6.0],[8.0]]
        ]
    ])
print input_batch
kernel = tf.constant([
        [
            [[1.0, 2.0]]
        ]
    ])
print kernel
conv2d = tf.nn.conv2d(input_batch, kernel, strides=[1, 1, 1, 1], padding='SAME')#conv2d卷积运算
print conv2d
sess = tf.Session()
print sess.run(conv2d)
lower_right_image_pixel = sess.run(input_batch)[0][1][1]
lower_right_kernel_pixel = sess.run(conv2d)[0][1][1]
print lower_right_image_pixel, lower_right_kernel_pixel
input_batch2 = tf.constant([
        [#第1个输入(6x6x1)
            [[0.0],[1.0],[2.0],[3.0],[4.0],[5.0]],
            [[0.1],[1.1],[2.1],[3.1],[4.1],[5.1]],
            [[0.2],[1.2],[2.2],[3.2],[4.2],[5.2]],
            [[0.3],[1.3],[2.3],[3.3],[4.3],[5.3]],
            [[0.4],[1.4],[2.4],[3.4],[4.4],[5.4]],
            [[0.5],[1.5],[2.5],[3.5],[4.5],[5.5]]
        ]
    ])
print input_batch2
kernel2 = tf.constant([#卷积核(3x3x1)
        [[[0.0]], [[0.5]], [[0.0]]],
        [[[0.0]], [[1.0]], [[0.0]]],
        [[[0.0]], [[0.5]], [[0.0]]]
    ])
print kernel2
conv2d2 = tf.nn.conv2d(input_batch2, kernel2, strides=[1, 3, 3, 1], padding='SAME')
print conv2d2
print sess.run(conv2d2)
lower_right_image_pixel2 = sess.run(input_batch2)[0][1][1]
lower_right_kernel_pixel2 = sess.run(conv2d2)[0][1][1]
print lower_right_image_pixel2, lower_right_kernel_pixel2
input_batch3 = tf.constant([
        [#第1个输入(6x6x1)
            [[0.0,1.0,2.0],[1.0,2.0,3.0]],
            [[0.1,1.1,2.1],[1.1,2.1,3.1]],
            [[0.2,1.2,2.2],[1.2,2.2,3.2]],
            [[0.3,1.3,2.3],[1.3,2.3,3.3]],
            [[0.4,1.4,2.4],[1.4,2.4,3.4]],
            [[0.5,1.5,2.5],[1.5,2.5,3.5]]
        ]
    ])
print input_batch3
kernel3 = tf.constant([
        [
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
        ],
        [
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[8., 0., 0.],[0., 8., 0.],[0., 0., 8.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
        ],
        [
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
        ]
    ])
print kernel3
conv2d3 = tf.nn.conv2d(input_batch3, kernel3, strides=[1, 1, 1, 1], padding='SAME')
print conv2d3
activation_map3 = sess.run(tf.minimum(tf.nn.relu(conv2d3), 255))
print activation_map3
lower_right_image_pixel3 = sess.run(input_batch3)[0][1][1]
lower_right_kernel_pixel3 = sess.run(conv2d3)[0][1][1]
print lower_right_image_pixel3, lower_right_kernel_pixel3
kernel4 = tf.constant([
        [
            [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]]
        ],
        [
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[5., 0., 0.],[0., 5., 0.],[0., 0., 5.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
        ],
        [
            [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]],
            [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
            [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]]
        ]
    ])
print kernel4
conv2d4 = tf.nn.conv2d(input_batch3, kernel4, strides=[1, 1, 1, 1], padding='SAME')
print conv2d4
activation_map4 = sess.run(tf.minimum(tf.nn.relu(conv2d4), 255))
print activation_map4
lower_right_image_pixel4 = sess.run(input_batch3)[0][1][1]
lower_right_kernel_pixel4 = sess.run(conv2d4)[0][1][1]
print lower_right_image_pixel4, lower_right_kernel_pixel4
    import tensorflow as tf
    input_batch = tf.constant([
            [#第1个输入
                [[0.0],[1.0]],
                [[2.0],[3.0]]
            ],
            [#第2个输入
                [[2.0],[4.0]],
                [[6.0],[8.0]]
            ]
        ])
    print input_batch
    kernel = tf.constant([
            [
                [[1.0, 2.0]]
            ]
        ])
    print kernel
    conv2d = tf.nn.conv2d(input_batch, kernel, strides=[1, 1, 1, 1], padding='SAME')#conv2d卷积运算
    print conv2d
    sess = tf.Session()
    print sess.run(conv2d)
    lower_right_image_pixel = sess.run(input_batch)[0][1][1]
    lower_right_kernel_pixel = sess.run(conv2d)[0][1][1]
    print lower_right_image_pixel, lower_right_kernel_pixel
    input_batch2 = tf.constant([
            [#第1个输入(6x6x1)
                [[0.0],[1.0],[2.0],[3.0],[4.0],[5.0]],
                [[0.1],[1.1],[2.1],[3.1],[4.1],[5.1]],
                [[0.2],[1.2],[2.2],[3.2],[4.2],[5.2]],
                [[0.3],[1.3],[2.3],[3.3],[4.3],[5.3]],
                [[0.4],[1.4],[2.4],[3.4],[4.4],[5.4]],
                [[0.5],[1.5],[2.5],[3.5],[4.5],[5.5]]
            ]
        ])
    print input_batch2
    kernel2 = tf.constant([#卷积核(3x3x1)
            [[[0.0]], [[0.5]], [[0.0]]],
            [[[0.0]], [[1.0]], [[0.0]]],
            [[[0.0]], [[0.5]], [[0.0]]]
        ])
    print kernel2
    conv2d2 = tf.nn.conv2d(input_batch2, kernel2, strides=[1, 3, 3, 1], padding='SAME')
    print conv2d2
    print sess.run(conv2d2)
    lower_right_image_pixel2 = sess.run(input_batch2)[0][1][1]
    lower_right_kernel_pixel2 = sess.run(conv2d2)[0][1][1]
    print lower_right_image_pixel2, lower_right_kernel_pixel2
    input_batch3 = tf.constant([
            [#第1个输入(6x6x1)
                [[0.0,1.0,2.0],[1.0,2.0,3.0]],
                [[0.1,1.1,2.1],[1.1,2.1,3.1]],
                [[0.2,1.2,2.2],[1.2,2.2,3.2]],
                [[0.3,1.3,2.3],[1.3,2.3,3.3]],
                [[0.4,1.4,2.4],[1.4,2.4,3.4]],
                [[0.5,1.5,2.5],[1.5,2.5,3.5]]
            ]
        ])
    print input_batch3
    kernel3 = tf.constant([
            [
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
            ],
            [
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[8., 0., 0.],[0., 8., 0.],[0., 0., 8.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
            ],
            [
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
            ]
        ])
    print kernel3
    conv2d3 = tf.nn.conv2d(input_batch3, kernel3, strides=[1, 1, 1, 1], padding='SAME')
    print conv2d3
    activation_map3 = sess.run(tf.minimum(tf.nn.relu(conv2d3), 255))
    print activation_map3
    lower_right_image_pixel3 = sess.run(input_batch3)[0][1][1]
    lower_right_kernel_pixel3 = sess.run(conv2d3)[0][1][1]
    print lower_right_image_pixel3, lower_right_kernel_pixel3
    kernel4 = tf.constant([
            [
                [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]]
            ],
            [
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[5., 0., 0.],[0., 5., 0.],[0., 0., 5.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]]
            ],
            [
                [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]],
                [[-1., 0., 0.],[0., -1., 0.],[0., 0., -1.]],
                [[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]]
            ]
        ])
    print kernel4
    conv2d4 = tf.nn.conv2d(input_batch3, kernel4, strides=[1, 1, 1, 1], padding='SAME')
    print conv2d4
    activation_map4 = sess.run(tf.minimum(tf.nn.relu(conv2d4), 255))
    print activation_map4
    lower_right_image_pixel4 = sess.run(input_batch3)[0][1][1]
    lower_right_kernel_pixel4 = sess.run(conv2d4)[0][1][1]
    print lower_right_image_pixel4, lower_right_kernel_pixel4

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

 

迎接加作者微信沟通:qingxingfengzi
自个儿的微信公众号:qingxingfengzigz
自个儿爱妻张幸清的微信公众号:qingqingfeifangz

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

迎接加小编微信交换:qingxingfengzi
本人的微信公众号:qingxingfengzigz
本人太太张幸清的微信公众号:qingqingfeifangz