gpt4 book ai didi

filter - tensorflow 中的 CNN2D 和 CNN2D 在使用方面的区别

转载 作者:行者123 更新时间:2023-12-02 05:44:47 25 4
gpt4 key购买 nike

在 TensorFlow 的 2D 卷积中,我们有:

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

tf.contrib.layers.convolution2d(*args, **kwargs)
  • 我不确定差异?
  • 我知道如果我想使用特殊的过滤器,我应该使用第一个,对吧?但还有什么?特别是关于输出?

谢谢

最佳答案

tf.nn.conv2d(...) 是 TensorFlow 提供的核心低级卷积功能。 tf.contrib.layers.conv2d(...) 是围绕 core-TensorFlow 构建的更高级别 API 的一部分。

请注意,在当前的 TensorFlow 版本中,部分层现在也位于核心中,例如tf.layers.conv2d

区别很简单,tf.nn.conv2d 是一个运算,只进行卷积,仅此而已。 tf.layers.conv2d 可以做更多的事情,例如它还为内核和偏差创建变量。

查看使用 Tensorflow 核心的 CNN 的 Tensorflow 教程 ( here )。使用低级 API,卷积层的创建方式如下:

def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

W_conv1 = weight_variable([5, 5, 1, 32])
b_conv1 = bias_variable([32])
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)

将其与 CNN 的 TF 层教程 ( here ) 进行比较。使用 TF Layers,卷积层的创建如下:

conv1 = tf.layers.conv2d(
inputs=input_layer,
filters=32,
kernel_size=[5, 5],
padding="same",
activation=tf.nn.relu)

在不知道您的用例的情况下:您很可能想使用tf.layers.conv2d

关于filter - tensorflow 中的 CNN2D 和 CNN2D 在使用方面的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com