【问题标题】:Keras Conv2D kernelKeras Conv2D 内核
【发布时间】:2021-02-16 14:52:00
【问题描述】:

在笔记本convolution-and-relu中提到卷积是在keras中完成的

    layers.Conv2D(filters=64, kernel_size=3, activation='relu')

后来,张量流等效函数为

image_filter = tf.nn.conv2d(
    input=image,
    filters=kernel,
    # we'll talk about these two in lesson 4!
    strides=1,
    padding='SAME',
)

我了解 tensorflow conv2d 函数。但是,我不明白 keras Conv2D 是如何等效的。

问题:对于 keras.layers.Conv2D,kernel 在哪里给出?,filters 是如何计算的?

【问题讨论】:

  • 过滤器不是计算而是学习的,这发生在层内部。权重在训练开始时随机初始化。
  • @Dr.Snoopy,也就是说,以上两者并不等价。

标签: python tensorflow image-processing keras-layer


【解决方案1】:

tf.nn.conv2d 中,您需要将filters 设置为您预先创建的多维数组(张量)。如果您想使用 64 个大小为 3x3 的内核执行卷积,则输入张量必须具有这些尺寸。

layers.Conv2D 中,Keras 为您管理多维数组,但您配置数组的维度。也就是说,数组中的内核数将设置为等于filters 参数。每个内核的尺寸将由kernel_size 设置为kernel_size

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 2019-01-11
    相关资源
    最近更新 更多