tensorflow12《TensorFlow实战Google深度学习框架》笔记-06-01卷积层、池化层样例code
来源:互联网 发布:舍恩伯格大数据时代 编辑:程序博客网 时间:2024/05/29 03:42
01 对卷积神经网络的一些理解
- 全链接方式参数太多;因参数量大,导致计算量过大;随着层数的增多,可计算性变小
- 卷积核、局部链接、感受野、权值共享、滑动步长、边缘填充、卷积核个数
- 局部链接和权值共享大大降低了参数数量
- 池化层(下采样)起到特征增强和数据压缩的作用
- 卷积是一个特征提取过程
- 卷积神经网络(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 tfimport 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. 定义卷积过滤器, 深度为1filter_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
- tensorflow12《TensorFlow实战Google深度学习框架》笔记-06-01卷积层、池化层样例code
- tensorflow13《TensorFlow实战Google深度学习框架》笔记-06-02mnist LeNet5卷积神经网络 code
- tensorflow14《TensorFlow实战Google深度学习框架》笔记-06-03 迁移学习 code
- tensorflow08 《TensorFlow实战Google深度学习框架》笔记-05-01minist数字识别问题code
- tensorflow16《TensorFlow实战Google深度学习框架》笔记-08-01 RNN前向传播 code
- tensorflow20《TensorFlow实战Google深度学习框架》笔记-09-01 TensorBoard可视化测试 code
- tensorflow24《TensorFlow实战Google深度学习框架》笔记-10-01 GPU基本操作 code
- Tensorflow实战Google深度学习框架 笔记
- tensorflow26《TensorFlow实战Google深度学习框架》笔记-10-03 分布式TensorFlow code
- tensorflow03 《TensorFlow实战Google深度学习框架》笔记-04-01
- tensorflow09 《TensorFlow实战Google深度学习框架》笔记-05-02变量管理(命名空间)code
- tensorflow10 《TensorFlow实战Google深度学习框架》笔记-05-03模型持久化code
- tensorflow11 《TensorFlow实战Google深度学习框架》笔记-05-04mnist-nn最佳实践code
- tensorflow15《TensorFlow实战Google深度学习框架》笔记-07图像数据处理 code
- tensorflow18《TensorFlow实战Google深度学习框架》笔记-08-03 SKlearn封装例子 code
- tensorflow19《TensorFlow实战Google深度学习框架》笔记-08-04 预测正弦函数 code
- tensorflow21《TensorFlow实战Google深度学习框架》笔记-09-02 TensorBoard命名空间 code
- tensorflow22《TensorFlow实战Google深度学习框架》笔记-09-03 TensorBoard改造后的mnist_train code
- spark的算子Tranformation和Action的使用demo
- Android Picasso不缓存图片
- HTTP协议学习笔记二
- LeetCode
- 使用eclipse开发spark程序 wordcount 事例
- tensorflow12《TensorFlow实战Google深度学习框架》笔记-06-01卷积层、池化层样例code
- Opencv笔记——findContours函数
- C++模板详解
- 五大常用算法:回溯法
- 递推递归-L
- springmvc如何上传图片,如何保存在本地文件夹 利用tomcat的虚拟路径访问
- JSP初学(Eclipse Java EE 环境搭建)
- 网络编程_InetAddress类的概述和使用
- java关键字static完全总结