我正在用ImageNet数据集训练神经网络,我注意到当我使用OpenCV函数cv2.imread()
读取图像时,图像是BGR颜色格式,所以会影响训练精度吗?,如果是,那么我怎么能改变它的RGB在pytorch?
一般来说,它不会影响你的神经网络的准确性。然而,如果你使用预训练的CNN,那么它可能期望RGB图像作为输入,并且最初在BGR图像上不会做得很好,并且必须重新学习BGR的权重。
您可以使用cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)
将BGR转换为RGB。
您还可以考虑以下替代方法来读取图像:
torchvision.io.read_image(path)
(https://pytorch.org/vision/stable/io.html#image)torch.from_numpy(np.array(PIL.Image.open(path)))
torchvision.transforms.functional.pil_to_tensor(PIL.Image.open(path))
(https://pytorch.org/vision/stable/transforms.html#torchvision.transforms.functional.pil_to_tensor)