![](/img/trans.png)
[英]How can I solve "expected axis -1 of input shape to have value 1 but received input with shape [None, 256, 256, 3]'" error?
[英]How can I solve the input shape issue in CNN?
我正在使用對手寫字符進行分類並遵循我的 CNN model。 我已將圖像轉換為灰度並二值化。 我怎么解決這個問題?
model = models.Sequential()
model.add(layers.Conv2D(filters=10,kernel_size=(3,3),padding = 'same', input_shape=(100, 100, 3),activation = 'relu'))
model.add(layers.Conv2D(30,(5,5),activation='relu'))
model.add(layers.MaxPooling2D(pool_size=(2,2)))
model.add(layers.Dropout(0.5))
model.add(layers.Conv2D(40,(3,3),activation='relu'))
model.add(layers.Conv2D(60,(3,3),activation='relu'))
model.add(layers.MaxPooling2D(pool_size=(2,2)))
model.add(layers.Flatten())
model.add(layers.Dense(180,activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(100,activation='relu'))
model.add(layers.Dense(12,activation='softmax'))
錯誤
ValueError: Input 0 of layer sequential_41 is incompatible with the layer: expected ndim=4, found ndim=3. Full shape received: [None, 100, 100]
在您的 model 中,您已將輸入形狀聲明為(100,100,3)
。 model 需要 3 通道圖像,但您說您的輸入數據是灰度的,這意味着它只有一個通道。 這意味着您的輸入數據的形狀是(100,100,1)
,然后就是(100,100)
。 隨着batch_size
維度的添加,它變為[None,100,100]
,這是您得到的錯誤。
將輸入形狀更改為(100,100,1)
應該可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.