RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have
生活随笔
收集整理的這篇文章主要介紹了
RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have 1 channels, but got 3 channels instead
通過翻譯得知這是 因為數據讀入的通道不對,應該是1通道的,但是我們所得確是3通道的。通過查看讀取的數據img的信息,發現mode是RGB。
但是我們需要的是一通道的灰度圖,所以需要將mode模式改變一下。
原代碼為:
錯誤:
RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have 1 channels, but got 3 channels instead修改
o_tensor = ToTensor() to_pil = ToPILImage() img = Image.open('images/SDZ.jpeg') if img.mode != 'L':img = img.convert('L') #僅僅加上這兩行就可以了input = to_tensor(img).unsqueeze(0) kernel = t.ones(3,3)/-9 kernel[1][1] = 1 conv = nn.Conv2d(1,1,(3,3),3,bias=False) conv.weight.data = kernel.view(1,1,3,3)out = conv(V(input)) to_pil(out.data.squeeze(0))完成 !解決問題
解決鏈接來源:
https://www.codeleading.com/article/31383072717/
總結
以上是生活随笔為你收集整理的RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美的集团的优势和劣势 简要分析几点
- 下一篇: 美联储加息黄金是涨还是降 加息对黄金呈现