首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在通过torchvision下载py手电数据集时使用SSLCertVerificationError

在通过torchvision下载py手电数据集时使用SSLCertVerificationError
EN

Stack Overflow用户
提问于 2022-02-25 01:21:39
回答 1查看 919关注 0票数 3

我有困难下载CIFAR-10数据集从pytorch。大多数情况下,这似乎是一些SSL错误,我真的不知道如何解释。我也尝试过将根目录更改为各种其他文件夹,但它们都不起作用。我想知道这是否是一个权限类型设置在我的一端,但我没有经验。希望你能帮我解决这个问题!

执行的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, num_workers=1)

此错误转载如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---------------------------------------------------------------------------
SSLCertVerificationError                  Traceback (most recent call last)
File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1354, in AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
   1353 try:
-> 1354     h.request(req.get_method(), req.selector, req.data, headers,
   1355               encode_chunked=req.has_header('Transfer-encoding'))
   1356 except OSError as err: # timeout error

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1256, in HTTPConnection.request(self, method, url, body, headers, encode_chunked)
   1255 """Send a complete request to the server."""
-> 1256 self._send_request(method, url, body, headers, encode_chunked)

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1302, in HTTPConnection._send_request(self, method, url, body, headers, encode_chunked)
   1301     body = _encode(body, 'body')
-> 1302 self.endheaders(body, encode_chunked=encode_chunked)

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1251, in HTTPConnection.endheaders(self, message_body, encode_chunked)
   1250     raise CannotSendHeader()
-> 1251 self._send_output(message_body, encode_chunked=encode_chunked)

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1011, in HTTPConnection._send_output(self, message_body, encode_chunked)
   1010 del self._buffer[:]
-> 1011 self.send(msg)
   1013 if message_body is not None:
   1014 
   1015     # create a consistent interface to message_body

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:951, in HTTPConnection.send(self, data)
    950 if self.auto_open:
--> 951     self.connect()
    952 else:

File C:\ProgramData\Miniconda3\envs\pDL\lib\http\client.py:1425, in HTTPSConnection.connect(self)
   1423     server_hostname = self.host
-> 1425 self.sock = self._context.wrap_socket(self.sock,
   1426                                       server_hostname=server_hostname)

File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:500, in SSLContext.wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session)
    494 def wrap_socket(self, sock, server_side=False,
    495                 do_handshake_on_connect=True,
    496                 suppress_ragged_eofs=True,
    497                 server_hostname=None, session=None):
    498     # SSLSocket class handles server_hostname encoding before it calls
    499     # ctx._wrap_socket()
--> 500     return self.sslsocket_class._create(
    501         sock=sock,
    502         server_side=server_side,
    503         do_handshake_on_connect=do_handshake_on_connect,
    504         suppress_ragged_eofs=suppress_ragged_eofs,
    505         server_hostname=server_hostname,
    506         context=self,
    507         session=session
    508     )

File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:1040, in SSLSocket._create(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session)
   1039             raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
-> 1040         self.do_handshake()
   1041 except (OSError, ValueError):

File C:\ProgramData\Miniconda3\envs\pDL\lib\ssl.py:1309, in SSLSocket.do_handshake(self, block)
   1308         self.settimeout(None)
-> 1309     self._sslobj.do_handshake()
   1310 finally:

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1131)

During handling of the above exception, another exception occurred:

URLError                                  Traceback (most recent call last)
Input In [8], in <module>
----> 1 trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
      2 trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, num_workers=1)

File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\cifar.py:66, in CIFAR10.__init__(self, root, train, transform, target_transform, download)
     63 self.train = train  # training set or test set
     65 if download:
---> 66     self.download()
     68 if not self._check_integrity():
     69     raise RuntimeError('Dataset not found or corrupted.' +
     70                        ' You can use download=True to download it')

File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\cifar.py:144, in CIFAR10.download(self)
    142     print('Files already downloaded and verified')
    143     return
--> 144 download_and_extract_archive(self.url, self.root, filename=self.filename, md5=self.tgz_md5)

File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:427, in download_and_extract_archive(url, download_root, extract_root, filename, md5, remove_finished)
    424 if not filename:
    425     filename = os.path.basename(url)
--> 427 download_url(url, download_root, filename, md5)
    429 archive = os.path.join(download_root, filename)
    430 print("Extracting {} to {}".format(archive, extract_root))

File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:130, in download_url(url, root, filename, md5, max_redirect_hops)
    127     _download_file_from_remote_location(fpath, url)
    128 else:
    129     # expand redirect chain if needed
--> 130     url = _get_redirect_url(url, max_hops=max_redirect_hops)
    132     # check if file is located on Google Drive
    133     file_id = _get_google_drive_file_id(url)

File C:\ProgramData\Miniconda3\envs\pDL\lib\site-packages\torchvision\datasets\utils.py:78, in _get_redirect_url(url, max_hops)
     75 headers = {"Method": "HEAD", "User-Agent": USER_AGENT}
     77 for _ in range(max_hops + 1):
---> 78     with urllib.request.urlopen(urllib.request.Request(url, headers=headers)) as response:
     79         if response.url == url or response.url is None:
     80             return url

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:222, in urlopen(url, data, timeout, cafile, capath, cadefault, context)
    220 else:
    221     opener = _opener
--> 222 return opener.open(url, data, timeout)

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:525, in OpenerDirector.open(self, fullurl, data, timeout)
    522     req = meth(req)
    524 sys.audit('urllib.Request', req.full_url, req.data, req.headers, req.get_method())
--> 525 response = self._open(req, data)
    527 # post-process response
    528 meth_name = protocol+"_response"

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:542, in OpenerDirector._open(self, req, data)
    539     return result
    541 protocol = req.type
--> 542 result = self._call_chain(self.handle_open, protocol, protocol +
    543                           '_open', req)
    544 if result:
    545     return result

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:502, in OpenerDirector._call_chain(self, chain, kind, meth_name, *args)
    500 for handler in handlers:
    501     func = getattr(handler, meth_name)
--> 502     result = func(*args)
    503     if result is not None:
    504         return result

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1397, in HTTPSHandler.https_open(self, req)
   1396 def https_open(self, req):
-> 1397     return self.do_open(http.client.HTTPSConnection, req,
   1398         context=self._context, check_hostname=self._check_hostname)

File C:\ProgramData\Miniconda3\envs\pDL\lib\urllib\request.py:1357, in AbstractHTTPHandler.do_open(self, http_class, req, **http_conn_args)
   1354         h.request(req.get_method(), req.selector, req.data, headers,
   1355                   encode_chunked=req.has_header('Transfer-encoding'))
   1356     except OSError as err: # timeout error
-> 1357         raise URLError(err)
   1358     r = h.getresponse()
   1359 except:

URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1131)>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-15 19:31:57

关闭ssl验证。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71263622

复制
相关文章
.htaccess的重写规则
.htaccess是Apache服务器的一个非常强大的分布式配置文件。 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。
Java架构师必看
2021/03/22
1.9K0
.htaccess伪静态规则
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
阿珏
2018/08/02
5.4K0
typecho伪静态.htaccess规则
如题,typecho伪静态.htaccess规则,备用。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> http跳转https的.htaccess规则 <IfModule mod_rewrite.c>
李维亮
2021/07/09
2.3K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.5K0
Apache URL重写规则
  Apached的重写功能,即是mod_rewrite模块功能,它是apache的一个模块。它的功能非常强大,可以操作URL中的所有部分。
那一叶随风
2018/08/22
3K0
Apache URL重写规则
nginx禁止用户访问.htaccess
.htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。
php007
2019/08/05
3.9K0
nginx禁止用户访问.htaccess
Nginx url 重写
和apache等web服务软件一样,rewrite的主要功能是实现URL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持。
星哥玩云
2022/09/15
2.6K0
Nginx url 重写
Nginx URL重写
rewite 规则作用 Rewrite规则可以实现对url的重写,以及重定向 --作用场景 URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 SEO优化 维护:后台维护、流量转发等 安全 rewrite 语法 rewrite <regex> <replacement> [flag]; 关键字 正则 替代内容 flag标记 --解释 关键字 其中关键字error_log不能改变 正则 perl兼容正
剧终
2020/12/31
1.1K0
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.3K0
nginx配置url重写
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等
landv
2020/03/03
2.5K0
nginx配置url重写
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等
PM吃瓜
2019/08/13
1.8K0
Nginx Rewrite 重写URI
不知不觉 nginx主题的文章写了60+篇,有最早的也有最近的,有些是记录安装配置,有些是记录问题解决方法,内容质量有深也有浅参差不齐,随着技术迭代有些文章已经过时了(例如Docker时代)不再符合当前的技术需求,而有些文章虽然久远但是仍有有意义(例如Nginx HA),所以有了梳理这些文章的想法,目标有两个吧,一是回顾下过去的文章巩固下知识点,二是去其糟粕留下精华将有价值的文章搬迁(搬砖)的微信公众号。
用户1560186
2019/11/19
2.9K0
Nginx 重写 Query 参数
由于旧版项目, 依旧使用php-fpm模式提供api服务, 采用 类似 /api.php?m=account&act=login类似这种方式进行控制器分类. 目前的话 打算更换为其他框架, 使用路由来
xcsoft
2022/05/27
1.5K0
Nginx安全规则
网站配置文件添加即可 #禁止下载以 XXX 后缀的文件 location ~ \.(zip|rar|sql|bak|gz|7z)$ { return 444; } #访问链接里含有 test 直接跳转到公安网 if ($request_uri ~* test=) { return 301 https://www.mps.gov.cn; } #防止SB爬虫 if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|Ahrefs
残浔
2023/05/11
5390
04 . Nginx的Rewrite重写
Nginx Rewrite相关指令有重定向rewrite,if 语句,条件判断,全局变量,set,return
iginkgo18
2020/09/27
2.9K0
访问Apache服务器自动跳转到https协议
版权声明:转载注明出处 https://blog.csdn.net/weixin_42514606/article/details/89367932
叉叉敌
2019/05/05
7020
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
Nginx除了可以用作web服务器外,他还可以用来做高性能的反向代理服务器,它能提供稳定高效的负载均衡解决方案。nginx可以用轮询、IP哈希、URL哈希等方式调度后端服务器,同时也能提供健康检查功能。目前有众多公司均已经部署使用nginx实现基于七层的负载均衡功能。 1)Nginx负载均衡 为了实现Nginx的反向代理以及负载均衡功能,应用中需要用到两个模块,HttpProxyModule和HttpUpstreamModule模块;其中HttpProxyModule模块的作用是将用户的数据请求转发到其他服
洗尽了浮华
2018/01/23
7.9K0
nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
伪静态规则写法RewriteRule-htaccess详细语法使用
伪静态实际上是利用PHP把当前地址解析成另一种方法来访问网站,要学伪静态规则的写法,要懂一点正则
全栈程序员站长
2022/09/07
6170
Nginx rewrite正则匹配重写
Nginx的rewrite功能支持正则匹配重写,即将URL地址临时或永久重新指向某个新的位置,类似于重定向。这个特性有利用当网站结构做出重大调整,如之前的网站mp3资源使用URL为www.site1.org/mp3进行访问,而现在服务器上mp3目录已经被使用music目录替换,那rewrite这个功能则能够轻松实现。其次如可以将site1.org强制调整到www.site1.org,反之亦可。这个指令位于ngx_http_rewrite_module模块。本文主要描述这个指令的用法并给出演示。
Leshami
2018/08/06
2.3K0
nginx location匹配规则
~      #波浪线表示执行一个正则匹配,区分大小写 ~*    #表示执行一个正则匹配,不区分大小写 ^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 =      #进行普通字符精确匹配 @     #”@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files
zhangdd
2018/08/01
6820

相似问题

无法在Win10 -ImportError上安装tensorflow : DLL加载失败

11

无法在win10上导入tensorflow

123

无法在Win10上运行tensorflow

117

构建在TypeScript上失败

15

win10中的tensorflow安装失败,setup.py错误代码1

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文