我正在为图像跟踪一个关于tensorflow使用卷积神经网络的教程,但我希望用灰度图像来实现它。如果是针对灰度图像而不是3个通道的彩色图像,那么在那里发布的代码会有什么不同呢?
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))发布于 2020-08-16 06:20:16
以下是更新的灰度图像代码:
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))因为对于RGB图像,有3个通道,'R','G‘和'B’所以,输入的形状将是(height, width, 3)
但是由于灰度只有一个通道,所以输入的形状变成(height, width, 1)。
注意,如果您使用带有Tensorflow后端的Keras,那么data_format是channels_last,这意味着输入形状应该是(height, width, channels)。
否则,如果您使用Theano作为后端,则输入形状应该是(channels, height, width),因为Theano使用channels_first数据格式。
希望这能帮上忙。如果有帮助,请投上票。
发布于 2020-08-12 12:02:55
input_shape=(32, 32, 3)))
会变成
input_shape=(32, 32, 1)))通道默认是最后一个参数。
...When使用该层作为模型的第一层,提供关键字参数input_shape (整数元组,不包括样本轴),例如input_shape=(128、128、3)用于data_format=“channels_last.”中的128x128 RGB图片。
https://datascience.stackexchange.com/questions/80163
复制相似问题