这个 TensorFlow 示例中的滤镜图像数据在哪里?

Where are the filter image data in this TensorFlow example?

我正在尝试通过 Google 学习本教程,以使用 TensorFlow Estimator 训练和识别图像:https://www.tensorflow.org/tutorials/estimators/cnn

我在教程中能看到的数据有:train_data、train_labels、eval_data、eval_labels:

((train_data,train_labels),(eval_data,eval_labels)) = 
tf.keras.datasets.mnist.load_data();

在卷积层中,应该有特征滤波器图像数据与输入图像数据相乘?但是我没有在代码中看到它们

根据本指南,输入图像数据与过滤图像数据相乘以检查低级特征(曲线、边缘等),因此也应该有过滤图像数据(下图中的右矩阵)?: https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks

过滤器是模型中使用的 Conv2d 层的权重矩阵,而不是像您在示例中提供的 "butt curve" 那样的预加载图像。如果是这种情况,我们需要为 CNN 提供所有可能类型的形状、曲线、颜色,并希望我们提供给模型的任何看不见的数据都包含模型可以识别的有限图像集。

相反,我们允许 CNN 从数据本身学习成功分类所需的过滤器,并希望它可以泛化到新数据。通过大量的迭代和数据(他们需要很多),模型迭代地制作出最好的过滤器集,以成功地对图像进行分类。训练开始时的随机初始化确保每层的所有过滤器都学会识别输入图像中的不同特征。

较早的层通常对应于颜色和边缘(如上)这一事实并未预定义,但网络已经意识到在输入中寻找边缘是在图像的其余部分创建上下文的唯一方法,从而进行分类(人类最初也是这样做的)。

网络在较早的层中使用这些原始过滤器来在较深的层中生成更复杂的解释。这就是分布式学习的力量:通过简单得多的函数的多次应用来表示复杂的函数。