当前位置: 首页 > 工具软件 > 6to5 > 使用案例 >

bug解决:Given groups=1, weight of size 6 1 5 5, expected input[4, 3, 224, 224] to have 1 channels, but

段干宜
2023-12-01
Given groups=1, weight of size 6 1 5 5, expected input[4, 3, 224, 224] to have 1 channels, but got 3 channels instead

代码原本为:

from torchvision import transforms, utils
from torchvision import datasets
import torch
import matplotlib.pyplot as plt 
%matplotlib inline


my_trans=transforms.Compose([
    transforms.RandomResizedCrop(224),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor()

改为:

from torchvision import transforms, utils
from torchvision import datasets
import torch
import matplotlib.pyplot as plt 
%matplotlib inline


my_trans=transforms.Compose([
    transforms.Grayscale(num_output_channels=1),
    transforms.RandomResizedCrop(224),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor()

注意,这种做法行不通:

# import matplotlib.pyplot as plt # plt 用于显示图片
# from PIL import Image
# import pylab
# image1 = Image.open('test02.png')
# path = r'C:\briani'
# # 通道转换
# def change_image_channels(image):
    # 3通道转单通道
#     if image.mode == 'RGB':
 #        r, g, b = image.split()
 #    return r,g,b
# ima = change_image_channels(image1)
#plt.imshow(ima)
# plt.show()

为什么行不通,我也不知道,不是很清楚。

那个函数transforms.Grayscale(num_output_channels=1),关键词应该是pytorch和灰度图,我搜的三通道改成一通道,就搜不出来了。
不是说灰度图并不等于一通道的嘛,被拐得跑偏了。

 类似资料: