tf.nn.conv2d与tf.layers.conv2d的区别及说明

作者:zhongranxu 时间:2021-03-29 13:36:53 

tf.nn.conv2d与tf.layers.conv2d的区别

在写CNN中注意到tensorflow目前有tf.nn.conv2d和tf.layers.conv2d这两个很相似的API.

tf.nn.conv2d, 需要自行传入初始化好的filter(四个维度),在初始化filter或者说Weights中,已经手动选择了初始化方案,一般用的是tf.truncated_normal。另外tf.nn.conv2d中激活函数需要另外写。

而在tf.layers.conv2d中,只要写入n和size,参数列表中kernel_initializer默认是None, 不清楚这里的参数是如何初始化的? tf.layers.conv2d中,激活函数是一个参数,不需要另外调用。

问过大神,大神答曰:一般推荐使用tf.layers.下面的函数,用起来方便。但是在tf2.0里,tf.layers.下面的API也都被遗弃了,tf2.0推荐使用keras.layers下面的API。

tf.nn.conv2d

tf.nn.conv2d与tf.layers.conv2d的区别及说明

tf.layers.conv2d

tf.nn.conv2d与tf.layers.conv2d的区别及说明

tf.nn.conv2d和tf.layers.conv2d的学习

看了很多tensorflow卷积的例子,有的用了tf.nn.conv2d,有的用了tf.layers.conv2d,那么这两个究竟有啥不同呢?

tf.layers.conv2d(inputs, filters, kernel_size, strides=(1,1),

                       padding='valid', data_format='channels_last',
                 dilation_rate=(1,1), activation=None,
                 use_bias=True, kernel_initializer=None,
                 bias_initializer=init_ops.zeros_initializer(),
                 kernel_regularizer=None,
                 bias_regularizer=None,
                 activity_regularizer=None, trainable=True,
                 name=None, reuse=None)

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

对于卷积来说,作用是一样的。tf.layers.conv2d 使用tf.nn.convolution作为后端。

一个参数要注意一下:

  • filter:是一个4维张量,其type必须和输入一样,

[filter_height, filter_width, in_channels, out_channels]
  • filters:一个整数,输出空间的维度,也就是卷积核的数量。

tf.layers.conv2d参数丰富,一般用于从头训练一个模型。

tf.nn.conv2d,一般在下载预训练好的模型时使用。

所以,喜欢哪个就用哪个咯。

来源:https://blog.csdn.net/zhongranxu/article/details/105833035

标签:tf.nn.conv2d,tf.layers.conv2d
0
投稿

猜你喜欢

  • 浅析python中的迭代与迭代对象

    2023-11-19 09:21:35
  • vue使用watch 观察路由变化,重新获取内容

    2024-05-05 09:11:16
  • zen coding的dreamweaver插件安装教程

    2010-01-12 13:30:00
  • Python语言实现机器学习的K-近邻算法

    2023-04-25 02:09:58
  • C#简单查询SQLite数据库是否存在数据的方法

    2024-01-13 04:34:48
  • Python使用pickle进行序列化和反序列化的示例代码

    2022-11-17 10:46:22
  • 教你用Python创建微信聊天机器人

    2021-10-06 21:50:14
  • Python 递归式实现二叉树前序,中序,后序遍历

    2022-09-22 17:38:32
  • 一波神奇的Python语句、函数与方法的使用技巧总结

    2023-05-12 19:48:41
  • Python本地及虚拟解释器配置过程解析

    2022-12-05 09:08:09
  • asp去除html的函数代码分析附实例说明

    2023-07-02 20:09:18
  • tensorflow 重置/清除计算图的实现

    2023-07-23 00:41:58
  • python实现文本界面网络聊天室

    2022-04-13 19:43:54
  • Python matplotlib底层原理解析

    2021-05-11 07:05:29
  • mysql5.5 master-slave(Replication)主从配置

    2024-01-27 08:05:26
  • 详解Python实现图像分割增强的两种方法

    2022-08-16 20:23:50
  • WEB标准与XHTML 1.0 Transitional等文档类型介绍

    2007-10-20 21:18:00
  • JavaScript实现简易放大镜最全代码解析(ES5)

    2024-04-30 08:52:11
  • 网页设计配色色相之黄金分割

    2007-12-27 21:30:00
  • ASP错误大全

    2009-05-26 15:45:00
  • asp之家 网络编程 m.aspxhome.com