python - 加载 tensorflow_datasets 时出错:Google 云出错
问题描述
加载 tensorflow_dataset 时,出现以下错误:
ds = tfds.load('mnist', split='train', shuffle_files=True)
---------------------------------------------------------------------------
FailedPreconditionError Traceback (most recent call last)
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/utils/py_utils.py in try_reraise(*args, **kwargs)
398 try:
--> 399 yield
400 except Exception: # pylint: disable=broad-except
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/registered.py in builder(name, **builder_init_kwargs)
243 prefix="Failed to construct dataset {}".format(name)):
--> 244 return builder_cls(name)(**builder_kwargs)
245
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/api_utils.py in disallow_positional_args_dec(fn, instance, args, kwargs)
68 _check_required(fn, kwargs)
---> 69 return fn(*args, **kwargs)
70
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/dataset_builder.py in __init__(self, data_dir, config, version)
205 else: # Use the code version (do not restore data)
--> 206 self.info.initialize_from_bucket()
207
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/dataset_info.py in initialize_from_bucket(self)
422 tmp_dir = tempfile.mkdtemp("tfds")
--> 423 data_files = gcs_utils.gcs_dataset_info_files(self.full_name)
424 if not data_files:
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/utils/gcs_utils.py in gcs_dataset_info_files(dataset_dir)
70 """Return paths to GCS files in the given dataset directory."""
---> 71 return gcs_listdir(posixpath.join(GCS_DATASET_INFO_DIR, dataset_dir))
72
~/anaconda3/lib/python3.7/site-packages/tensorflow_datasets/core/utils/gcs_utils.py in gcs_listdir(dir_name)
63 root_dir = gcs_path(dir_name)
---> 64 if is_gcs_disabled() or not tf.io.gfile.exists(root_dir):
65 return None
~/anaconda3/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py in file_exists_v2(path)
266 try:
--> 267 _pywrap_file_io.FileExists(compat.as_bytes(path))
268 except errors.NotFoundError:
FailedPreconditionError: Error executing an HTTP request: libcurl code 77 meaning 'Problem with the SSL CA cert (path? access rights?)', error details: error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
when reading metadata of gs://tfds-data/dataset_info/mnist/3.0.1
此外,在 cmd 行上出现以下内容:
2020-08-23 12:12:46.444195: W tensorflow/core/platform/cloud/google_auth_provider.cc:184] 所有获取 Google 身份验证承载令牌的尝试均失败,返回一个空令牌。从文件中检索令牌失败,并显示“未找到:无法找到凭据文件。”。从 GCE 检索令牌失败,并显示“失败的前提条件:执行 HTTP 请求时出错:libcurl 代码 6 表示‘无法解析主机名’,错误详细信息:无法解析主机‘元数据’”。
我在公司防火墙后面,我可以做任何事情来解决这个看起来像谷歌云身份验证/证书问题的问题。
谢谢。
解决方案
'ln -s /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt' 解决了这个问题。
推荐阅读
- python - 使用 HTTPS 后的 Django CSRF 故障
- c# - 如何在 CarouselView 中使用 ListView?
- r - 在 ecdf ggplot2 中添加参考线
- javascript - 在 Firebase 的实时数据库中,如何将自己的参数传递给事件侦听器的回调?
- sqlite - 如何在 Flutter 中使用 Sqlite 将布尔值转换为 Int 值?
- javascript - 排序加密货币价格的问题(vue.js)
- css - 如何使伪元素跨换行符跟随文本?
- r - 根据其他下拉选择动态设置下拉选项
- python - int.to_bytes() 的行为不一致
- java - Java 仅调用以 parent 作为其函数参数的方法