卜若的代码笔记-python系列-神经网络篇-第九章:三维卷积(tf.nn.conv2D)



import tensorflow as tf
import numpy as np
#ma1 = tf.placeholder([6,6])


data = [3,0,1,2,7,4,
        1,5,8,9,3,1,
        2,7,2,5,1,3,
        0,1,3,1,7,8,
        4,2,1,6,2,8,
        2,4,5,2,3,9,
        3,0,1,2,7,4,
        1,5,8,9,3,1,
        2,7,2,5,1,3,
        0,1,3,1,7,8,
        4,2,1,6,2,8,
        2,4,5,2,3,9,
        3,0,1,2,7,4,
        1,5,8,9,3,1,
        2,7,2,5,1,3,
        0,1,3,1,7,8,
        4,2,1,6,2,8,
        2,4,5,2,3,9]

data = np.array(data,dtype=float)
data = data.reshape([1,6,6,3])
data = tf.Variable(data)
core = [1,0,-1,1,0,-1,1,0,-1,1,0,-1,1,0,-1,1,0,-1,1,0,-1,1,0,-1,1,0,-1]
core = np.array(core,dtype=float)
core = core.reshape([3,3,3,1])
core = tf.Variable(core)


# strides为[批次大小,高度方向的移动步长,宽度方向的移动步长,通道数]
sampleJump = 1#间隔多少样本执行,等于1时,表示对每个样本都会执行一次,等于2时,比如有a,b,c,d执行完a,则下个b跳过对c进行卷积
heightMove = 1#沿着高度进行移动
widthMove = 1#沿着宽度进行移动
channelJump = 1#对于图像样本,其结构一般是[长,宽,颜色通道],这个参数主要描述怎么选择颜色通道进行卷积,比如有r,g,b颜色通道,等于1时
#对每一个通道都进行卷积,等于2时,仅对r,b进行卷积,一般取1

padding = 'VALID'
conv = tf.nn.conv2d(data,core,strides=[sampleJump,heightMove,widthMove,channelJump],padding=padding)
with tf.Session() as sess:

    sess.run(tf.initialize_all_variables())
    data = sess.run(conv)

    print(data.reshape([4,4]))

    pass

#core = tf.Variable(np.random.random([3,3]))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值