目前我将所有预处理应用于数据集。 但是我看到我可以将预处理作为模型的一部分。 我读到图层预处理在测试时处于非活动状态,但是调整图层是什么? 例如:
model = Sequential([
layers.experimental.preprocessing.Resizing(180, 180),
layers.experimental.preprocessing.Rescaling(1./255),
layers.Conv2D(16, 3, padding='same', activation='relu'),
...
如果我现在使用 model.predict(img) 会发生什么,img 会自动调整大小还是在预测之前我仍然需要调整 img 的大小?
先谢谢你!
答案 0 :(得分:1)
只有以 Qs
开头的预处理层在评估/测试时被禁用。
在您的情况下,层 Random
和 Resizing
将在每种情况下启用。
您可以在源代码中检查您感兴趣的层是否在其方法 Rescaling
中采用 training
布尔参数,并在 call
中使用该布尔值。>
例如,层 Resizing
不会:
control_flow_util.smart_cond
虽然层 RandomFlip
做了:
class Resizing(PreprocessingLayer):
def call(self, inputs):
outputs = image_ops.resize_images_v2(
images=inputs,
size=[self.target_height, self.target_width],
method=self._interpolation_method)
return outputs