TensorFlow默认使用哪种滤波器进行图像滤波?

4

我是机器学习的新手,正在阅读有关使用Tensorflow实现CNN的内容,但是我对这个代码块有疑问:

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

根据多篇文章,有很多滤镜可供使用(模糊、锐化等)。TensorFlow在这种代码中默认应用哪种内核?因为我没有指定任何内核类型,例如:

Edge detection filter

我对此感到相当困惑,非常感谢任何形式的帮助。

提前致谢!

1个回答

6

虽然令人困惑,但 TensorFlow 有两种 conv2d 方法: tf.nn.conv2dtf.layers.conv2d。如果你想使用已知内核来过滤图像,请调用 tf.nn.conv2d。如果你想在卷积神经网络(CNN)中创建一个层,并以编程方式确定其滤波器,请调用 tf.layers.conv2d


非常感谢!编程上的“programmatically”是什么意思?我的意思是,如果它取决于问题,Tensorflow如何确定哪个内核更好? - Genarito
1
当您为图像分类创建CNN时,您提供输入图像并确定每个图像的类别。 CNN的目标是计算过滤器,使过滤后的图像易于分类。 您可以在https://en.wikipedia.org/wiki/Convolutional_neural_network上阅读有关它们的更多信息。 - MatthewScarpino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接