PyTorch resnet 错误的张量尺寸
PyTorch resnet bad tensor dimensions
我正在尝试使用 Pytorch 设置人脸 detection/recognition 管道。
我使用opencv加载图像
image = cv2.imread('...')
我加载 mtcnn
人脸检测和 resnet
人脸识别模型
self.mtcnn = MTCNN(keep_all=True, device=self.device)
self.resnet = InceptionResnetV1(pretrained='vggface2').eval()
然后我运行检测识别
cropped = detector.mtcnn(image)
detector.resnet(cropped.unsqueeze(0))
并得到这个错误
Expected 4-dimensional input for 4-dimensional weight [32, 3, 3, 3], but got 5-dimensional input of size [1, 1, 3, 160, 160] instead
我也尝试将图像大小调整为 512x512 并将 image_size=512
传递给 MTCNN 构造函数,但我得到了类似的错误。
我尝试删除 unsqueeze
并且成功了
我所遵循的指南是使用 opencv 以外的其他东西来加载图像,它可能将图像作为 array/tensor of images
返回
我正在尝试使用 Pytorch 设置人脸 detection/recognition 管道。
我使用opencv加载图像
image = cv2.imread('...')
我加载 mtcnn
人脸检测和 resnet
人脸识别模型
self.mtcnn = MTCNN(keep_all=True, device=self.device)
self.resnet = InceptionResnetV1(pretrained='vggface2').eval()
然后我运行检测识别
cropped = detector.mtcnn(image)
detector.resnet(cropped.unsqueeze(0))
并得到这个错误
Expected 4-dimensional input for 4-dimensional weight [32, 3, 3, 3], but got 5-dimensional input of size [1, 1, 3, 160, 160] instead
我也尝试将图像大小调整为 512x512 并将 image_size=512
传递给 MTCNN 构造函数,但我得到了类似的错误。
我尝试删除 unsqueeze
并且成功了
我所遵循的指南是使用 opencv 以外的其他东西来加载图像,它可能将图像作为 array/tensor of images