第一阶段-入门详细图文讲解tensorflow1.4 API-tf.nn.conv2d
来源:互联网 发布:检测到usb端口潮湿 编辑:程序博客网 时间:2024/05/17 09:46
conv2d( input,#输入一个4维tesor[batch, in_height, in_width, in_channels] filter,#同样是一个4维tensor[filter_height, filter_width, in_channels, out_channels] strides,#步长,一维tensor表示 padding,#边界填充,一般有“SAME”,“VALID” use_cudnn_on_gpu=True,#可选,是否使用cudnn加速 data_format='NHWC',#可选择,默认为“NHWC”。 指定输入和输出数据的数据格式。 使用默认格式“NHWC”,数据按照 [batch, height, width, channels]的顺序存储。 或者,格式可以是“NCHW”,数据存储顺序为:[batch,channels,height,width]。 name=None#操作名称)
conv2d做二维卷积操作。
看一个例子:
# -*- coding: utf-8 -*-"""Created on Fri Dec 15 16:13:33 2017@author: Administrator"""import numpy as npimport tensorflow as tf#使用reshape构造一个tensor#TypeError: Value passed to parameter 'input' has DataType int32 not in list of allowed values: float16, float32'''input_value = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])filter_value = np.array([1, 2, 3, 4, 5, 6, 7, 8])'''#定义常量,一维矩阵input_value = tf.constant([1, 2, 3, 4, 5, 6, 7,8,9],dtype=tf.float32) filter_value = tf.constant([1, 0, 1, 0],dtype=tf.float32) input = tf.reshape(input_value,[1,3,3,1])filter = tf.reshape(filter_value,[2,2,1,1])op = tf.nn.conv2d(input,filter,strides = [1,1,1,1],padding ='SAME')with tf.Session() as sess: filter=sess.run(filter) print(filter) result = sess.run(op) print(result)
输出结果:
[[[[ 1.]] [[ 0.]]] [[[ 1.]] [[ 0.]]]][[[[ 5.] [ 7.] [ 9.]] [[ 11.] [ 13.] [ 15.]] [[ 7.] [ 8.] [ 9.]]]]
可以放在图片处理上理解:
input[图片个数,图片像素高,图片像素宽,输入通道A]这是tensor的shape。
filter必须和input保存一样的shape。[卷积核的高, 卷积核的宽, 输入通道A(和input一致), 输出通道]。
tf.reshape(input_value,[1,3,3,1]):表示有一张照片,大小3*3,输入通道1
filter = tf.reshape(filter_value,[2,2,1,1]):kernel为2*2,输入通道1,输出通道1。
图形解释一下,上面的代码。
如果使用VALID填充。修改一行代码。
op = tf.nn.conv2d(input,filter,strides = [1,1,1,1],padding =’VALID’)
[[[[ 1.]] [[ 0.]]] [[[ 1.]] [[ 0.]]]][[[[ 5.] [ 7.]] [[ 11.] [ 13.]]]]
平时工作比较忙,抽时间把计算过程再讲一边。
阅读全文
0 0
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.nn.conv2d
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.nn.max_pool
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.truncated_normal
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.reshape
- 第一阶段-入门详细图文讲解tensorflow1.4 -(七)tf.estimator的IRIS
- 第一阶段-入门详细图文讲解tensorflow1.4 -(八)tf.estimator构建数据预处理bostonHouse
- 第一阶段-入门详细图文讲解tensorflow1.4 -简介(一)
- 第一阶段-入门详细图文讲解tensorflow1.4 -安装(二)Windows CPU or GPU
- 第一阶段-入门详细图文讲解tensorflow1.4 -(三)TensorFlow 编程基础知识
- 第一阶段-入门详细图文讲解tensorflow1.4 -(四)新手MNIST
- 第一阶段-入门详细图文讲解tensorflow1.4 -(五)MNIST-CNN
- 第一阶段-入门详细图文讲解tensorflow1.4 -(六)tensorflow运行机制MNIST
- 第一阶段-入门详细图文讲解tensorflow1.4 -(九)TensorBoard: Visualizing Learning
- 第一阶段-入门详细图文讲解tensorflow1.4 -(十)TensorBoard: Graph Visualization
- 第一阶段-入门详细图文讲解tensorflow1.4 -(十一)TensorBoard Histogram Dashboard
- Tensorflow(r1.4)API--tf.nn.conv2d
- tf.nn.conv2d函数讲解
- tf.nn.conv2d 实例
- 树莓派
- Android下打印调试堆栈方法
- 鞍点计算
- 基于Graphics画图
- ReactJs中的this.props.children总结
- 第一阶段-入门详细图文讲解tensorflow1.4 API-tf.nn.conv2d
- D3结合Drupal8的初次尝试
- 代码行数统计的Java和Python实现
- etl,bi工具下载
- HTTP 错误 500.19,错误代码0x800700b7
- 【Spring+SpringMVC+MyBatis深入学习及搭建】16.SpringMVC注解开发(高级篇)
- 应用去除标题栏以及全屏的方法以及失败的处理
- 趟过spark的坑
- linux0.11内核完全剖析