【发布时间】:2021-06-03 18:07:30
【问题描述】:
我正在尝试按照 tensorflow 文档中提到的以下方式对二值图像分类问题应用数据增强:https://www.tensorflow.org/tutorials/images/classification#data_augmentation
我的模型是这样的:
Sequential([
data_augmentation,
layers.experimental.preprocessing.Rescaling(1./255),
layers.Conv2D(16, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Dropout(0.2),
layers.Conv2D(32, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Dropout(0.2),
layers.Conv2D(64, 3, padding='same', activation='relu'),
layers.MaxPooling2D(),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dropout(0.5),
layers.Dense(1, activation='sigmoid')
])
当我的数据增强层是这样的时候,模型编译没有错误:
data_augmentation = keras.Sequential(
[
layers.experimental.preprocessing.RandomFlip("horizontal",
input_shape=(150,
150,
3)),
layers.experimental.preprocessing.RandomRotation(0.2),
layers.experimental.preprocessing.RandomZoom(0.2)
]
)
如果我尝试在我的扩充层中引入RandomHeight() 和/或RandomWidth(),我会在创建模型时收到以下错误:
ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.
知道为什么会发生这种情况以及如何解决吗?
【问题讨论】:
标签: python tensorflow keras artificial-intelligence