我尝试在detectron2
中对图像使用预先训练的mask_rcnn_R_50_FPN_3x
模型,但得到错误ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)
。
我正在使用Linux的Windows子系统。下面的代码产生错误。
from detectron2.config import get_cfg
from detectron2 import model_zoo
from detectron2.engine import DefaultPredictor
cfg = get_cfg()
cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5
cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")
cfg.MODEL.DEVICE='cpu'
predictor = DefaultPredictor(cfg)
我试过更新certifi
软件包。
我试过了
sudo apt install ca-certificates
sudo update-ca-certificates --fresh
export SSL_CERT_DIR=/etc/ssl/certs
基于其中一个答案[https://stackoverflow.com/questions/52805115/certificate-verify-failed-unable-to-get-local-issuer-certificate.](https://stackoverflow.com/questions/52805115/certificate-verify-failed-unable-to-get-local-issuer-certificate.%5C)我尝试下载https://dl.fbaipublicfiles.com的证书(在Google Chrome中,单击挂锁符号-〉"连接安全"-〉"证书有效"-〉"详细信息"-〉"复制到文件",然后在"证书路径"选项卡下对不同的证书执行相同的操作),并将其内容复制到cacert.pem
文件中。
更新:
这似乎与urllib.request
模块有关(尽管我可能误解了一些事情)。
from urllib import request
request.urlretrieve('https://dl.fbaipublicfiles.com')
(the detectron2
调用urlretrive
函数)会导致相同的错误,而
import requests
requests.get('https://dl.fbaipublicfiles.com')
工作正常。
2条答案
按热度按时间toe950271#
试着把它放在
import
语句之后:这告诉
urllib
使用certifi
的证书。7dl7o3gd2#
解决方案: