TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略

简介: TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略

目录


TensorFlow 中的卷积有关函数入门


1、tf.nn.conv2d函数


案例应用


1、TF之CNN:Tensorflow构建卷积神经网络CNN


2、使用简单的函数来替代上面的定义





TensorFlow 中的卷积有关函数入门


   TensorFlow 构建卷积网络之前,我们需要了解一下 TensorFlow 中的函数:conv_2d() 和 fully_connected() 函数分别构建了卷积层和全连接层。通过这些函数,层级的数量、滤波器的大小/深度、激活函数的类型等都可以明确地作为一个参数。权重矩阵和偏置向量能自动创建,附加激活函数和 dropout 正则化层同样也能轻松构建。


1、tf.nn.conv2d函数


tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)

除去name参数用以指定该操作的name,与方法有关的一共五个参数:

第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_channels]这样的shape,具体含义是[训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数],注意这是一个4维的Tensor,要求类型为float32和float64其中之一

第二个参数filter:相当于CNN中的卷积核,它要求是一个Tensor,具有[filter_height, filter_width, in_channels, out_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同,有一个地方需要注意,第三维in_channels,就是参数input的第四维

第三个参数strides:卷积时在图像每一维的步长,这是一个一维的向量,长度4

第四个参数padding:string类型的量,只能是"SAME","VALID"其中之一,这个值决定了不同的卷积方式(后面会介绍)

第五个参数:use_cudnn_on_gpu:bool类型,是否使用cudnn加速,默认为true

结果返回一个Tensor,这个输出,就是我们常说的feature map,shape仍然是[batch, height, width, channels]这种形式。



案例应用


1、TF之CNN:Tensorflow构建卷积神经网络CNN


#TF之CNN:Tensorflow构建卷积神经网络CNN

#1、定义卷积层网络

import  tensorflow  as  tf    

w1 = tf. Variable (tf.truncated_normal([filter_size, filter_size, image_depth, filter_depth], stddev= 0.1 ))

b1 = tf. Variable (tf.zeros([filter_depth]))  

layer1_conv = tf.nn.conv2d(data, w1, [ 1 ,  1 ,  1 ,  1 ], padding= 'SAME' )

layer1_relu = tf.nn.relu(layer1_conv + b1)

layer1_pool = tf.nn.max_pool(layer1_pool, [ 1 ,  2 ,  2 ,  1 ], [ 1 ,  2 ,  2 ,  1 ], padding= 'SAME' )



2、使用简单的函数来替代上面的定义


#2、使用简单的函数来替代上面的定义

from  tflearn.layers.conv  import  conv_2d, max_pool_2d    

layer1_conv = conv_2d(data, filter_depth, filter_size, activation= 'relu' )

layer1_pool = max_pool_2d(layer1_conv_relu,  2 , strides= 2 )


 

相关文章
|
24天前
|
人工智能 PyTorch TensorFlow
人工智能应用工程师技能提升系列1、——TensorFlow2
人工智能应用工程师技能提升系列1、——TensorFlow2
40 0
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能在公司监视员工电脑的软件中的崭新应用(TensorFlow)
在当今数字化时代,企业日益依赖人工智能技术来提高工作效率和确保数据安全。最近,TensorFlow作为一种强大的机器学习工具,开始在公司监视员工电脑的软件中崭露头角。本文将探讨TensorFlow在这一领域中的创新应用,并通过多个代码示例展示其功能。
123 0
|
2月前
|
安全 网络虚拟化 云计算
阿里云转发路由器Transit Router:构建云上高效、灵活且安全的网络架构之利器
本评测报告围绕阿里云转发路由器Transit Router(TR)在跨地域跨VPC网络互通、企业云上网络架构规划和第三方SD-WAN设备对接三个场景的表现进行了详细评估。评测结果显示,TR凭借强大的路由控制能力和灵活的互通策略,在云上构建高效、灵活且安全的网络架构方面表现出色。同时,TR与第三方SD-WAN设备的良好兼容性也为企业提供了更多组网选择。本报告旨在为企业在云上网络架构规划和部署过程中提供参考和指导。
|
3月前
|
机器学习/深度学习 自然语言处理 TensorFlow
tensorflow循环神经网络(RNN)文本生成莎士比亚剧集
我们将使用 Andrej Karpathy 在《循环神经网络不合理的有效性》一文中提供的莎士比亚作品数据集。给定此数据中的一个字符序列 (“Shakespear”),训练一个模型以预测该序列的下一个字符(“e”)。通过重复调用该模型,可以生成更长的文本序列。
|
2月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
38 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
2天前
|
数据采集 安全 网络协议
构建网络下载器:Wt库指南让您轻松获取豆瓣网的美图
Wt(Web Toolkit)是一个用C编写的开源库,它可以让您使用C开发Web应用程序。Wt提供了一套丰富的组件,包括窗口、按钮、表单、图表、布局等,让您可以像使用GUI库一样,使用C++构建Web界面。 除了提供Web界面的组件,Wt还提供了一个网络模块,它可以让您使用C++进行网络编程,包括HTTP请求、响应、会话、Cookie等。这个网络模块非常适合用来开发网络爬虫,因为它可以让您方便地发送HTTP请求,获取网页的内容,解析HTML,提取所需的数据,保存到本地或数据库等。
|
24天前
|
机器学习/深度学习 人工智能 API
人工智能应用工程师技能提升系列2、——TensorFlow2——keras高级API训练神经网络模型
人工智能应用工程师技能提升系列2、——TensorFlow2——keras高级API训练神经网络模型
14 0
|
2月前
|
机器学习/深度学习 存储 算法
TensorFlow 卷积神经网络实用指南:6~10
TensorFlow 卷积神经网络实用指南:6~10
100 0
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow 卷积神经网络实用指南:1~5
TensorFlow 卷积神经网络实用指南:1~5
10 0
|
2月前
|
安全 算法 网络安全
阿里云转发路由器:构建企业级互联网络的强大引擎
本文探讨了阿里云转发路由器的核心功能和优势,包括同地域和跨地域的流量转发、灵活的互通和隔离策略、云数据传输服务等。通过学习评测,用户可以更好地了解如何将VPC实例连接至云企业网,实现不同VPC之间的互通,并控制流量互通。阿里云转发路由器为企业提供了一张灵活、可靠、大规模的互联网络,是构建企业级网络的重要组件。
209 0

热门文章

最新文章

相关产品