gpt4 book ai didi

python - Keras 中用于图像分类的 CNN 是什么类型?

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:57 24 4
gpt4 key购买 nike

我有一个 CNN 架构,我训练它识别一些我最终需要实时使用的对象,然后使用检测到的对象的输出进行进一步的工作。我有两个关于此的问题需要回答以评估我需要进行的下一步:

  1. 随着我对 CNN 的深入研究,我发现有不同类型的 CNN,例如更快的 CNN。所以我想知道 Keras 在使用它的 conv2d 函数时使用什么类型的架构(我将在下面提供我的 CNN 架构的代码)

  2. 生成的模型可以帮助我识别我要查找的对象是否在图像中,但我还希望在图像中找到预测区域。这是否可以使用相同的架构,或者我是否需要使用其他类似 YOLO 的架构?


classifier = Sequential()

classifier.add(Conv2D(32, (3, 3), input_shape= (128, 128, 3), activation = 'relu' ))

classifier.add(MaxPooling2D(pool_size = (2, 2)))

classifier.add(Conv2D(64, (3, 3), activation = 'relu' ))
classifier.add(MaxPooling2D(pool_size = (2, 2)))

classifier.add(Conv2D(128, (3, 3), activation = 'relu' ))
classifier.add(MaxPooling2D(pool_size = (2, 2)))

classifier.add(Flatten())

classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 1, activation = 'sigmoid'))

classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])

编辑:更具体地说,我想知道 tensorflow 或 keras 使用的任何后端是否提供了基础 CNN,而我们定义架构的方式就是定义我们使用的 CNN 类型,例如区域 CNN,快速CNN 还是更快的 CNN?或者它是在不同级别定义的东西?

我希望我说清楚了。

最佳答案

关于您的第一个问题:Keras“只是”一个可以与不同后端一起使用的通用 API,即 TensorFlow、Theano 或 CNTK。

Keras 在 layers.convolutional 中定义了许多不同的卷积层, 所有这些都是 documented here .由于您使用 TensorFlow 作为后端,您可以查看 backend.tensorflow_backend找出 Keras 使用的 TensorFlow 层。

但是请注意,R-CNN、Fast R-CNN 等不是特殊类型的卷积层,而是 CNN 架构(就像 YOLO 一样)。您可以在 this blog post 中找到有关通用架构的更多信息.您可以找到 R-CNN 的 Keras 实现 on GitHub .

关于您的第二个问题:您的模型仅用作对象检测器。要识别您的对象放置在图像中的位置,您确实需要不同的架构。此外,您的训练数据将需要提供对象位置。

关于python - Keras 中用于图像分类的 CNN 是什么类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55723915/

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