tensorflow12《TensorFlow实战Google深度学习框架》笔记-06-01卷积层、池化层样例code

01 对卷积神经网络的一些理解

  1. 全链接方式参数太多;因参数量大,导致计算量过大;随着层数的增多,可计算性变小
  2. 卷积核、局部链接、感受野、权值共享、滑动步长、边缘填充、卷积核个数
  3. 局部链接和权值共享大大降低了参数数量
  4. 池化层(下采样)起到特征增强和数据压缩的作用
  5. 卷积是一个特征提取过程
  6. 卷积神经网络(cnn)比全部采用全链接的神经网络(nn)判断准确。因为参数本身也有判断噪音;随着参数的增多,在loss达到足够小,差不多和参数引入的噪音影响相当时,判断就被噪音覆盖了。cnn的参数和数据相比,足够小,噪音影响远远小于nn,所以,cnn的判断准确性要高于nn。

02 卷积层、池化层样例

# 《TensorFlow实战Google深度学习框架》06 图像识别与卷积神经网络
# win10 Tensorflow1.0.1 python3.5.3
# CUDA v8.0 cudnn-8.0-windows10-x64-v5.1
# filename:ts06.01.py # 卷积层、池化层样例

import tensorflow as tf
import numpy as np

# 1. 输入矩阵
M = np.array([
        [[1],[-1],[0]],
        [[-1],[2],[1]],
        [[0],[2],[-2]]
    ])
print("Matrix shape is: ",M.shape)
# Matrix shape is:  (3, 3, 1)

# 2. 定义卷积过滤器, 深度为1
filter_weight = tf.get_variable('weights', [2, 2, 1, 1], initializer = tf.constant_initializer([
                                                                        [1, -1],
                                                                        [0, 2]]))
biases = tf.get_variable('biases', [1], initializer = tf.constant_initializer(1))

# 3. 调整输入的格式符合TensorFlow的要求
M = np.asarray(M, dtype='float32')
M = M.reshape(1, 3, 3, 1)

# 4. 计算矩阵通过卷积层过滤器和池化层过滤器计算后的结果
x = tf.placeholder('float32', [1, None, None, 1])
conv = tf.nn.conv2d(x, filter_weight, strides=[1, 2, 2, 1], padding='SAME')
bias = tf.nn.bias_add(conv, biases)
pool = tf.nn.avg_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    convoluted_M = sess.run(bias, feed_dict={x: M})
    pooled_M = sess.run(pool, feed_dict={x: M})
    print("convoluted_M: \n", convoluted_M)
    print("pooled_M: \n", pooled_M)
'''
convoluted_M: 
 [[[[ 7.][ 1.]]
  [[-1.][-1.]]]]
pooled_M: 
 [[[[ 0.25] [ 0.5 ]]
  [[ 1.  ] [-2.  ]]]]
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值