[英]ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (117, 1, 32, 32, 3)
[英]Error when checking input: expected conv2d_1_input to have shape (3, 32, 32) but got array with shape (32, 32, 3)
我想為cifar10數據集訓練CNN,但收到此錯誤檢查輸入時出錯:預期conv2d_10_input具有形狀(3、32、32),但形狀為(32、32、3)的數組
時代= 10 batch_size = 32
model.fit(X_train,Y_train,validation_data =(X_test,Y_test),歷元=歷元,batch_size = batch_size,詳細= 1)
數據集似乎采用(高度,寬度,通道)格式,但是模型期望采用(通道,高度,寬度)格式。
我們可以使用tf.transpose()
函數在它們之間進行轉換,該函數可以圍繞張量的尺寸“切換”。
要將單個圖像張量從HWC轉換為CHW,只需執行以下操作:
reshaped = tf.transpose(image_tensor, (2,0,1))
要轉換批次,您可以執行以下操作:
reshaped = tf.transpose(images_tensor, (0,3,1,2))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.