直接使用cv2.imread()读取彩色图片,获得的张量的数据顺序为h*w*c,其中张量的最后一个维度才是通道,会出现报错
Given groups=1, weight of size [48, 3, 6, 6], expected input[1, 640, 640, 3] to have 3 channels, but got 640 channels instead
需要对张量的维度顺序进行变换:
img = img.transpose(2, 0, 1)
# 变换前: np.ndarray h*w*c
# 变换后: np.ndarray c*h*w