【发布时间】:2020-08-23 16:37:03
【问题描述】:
加载 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 表示‘无法解析主机名’,错误详情:无法解析主机‘元数据’”。
我在公司防火墙后面,我可以做任何事情来解决这个看起来像 Google 云身份验证/证书问题的问题。
谢谢。
【问题讨论】:
-
根据github.com/tensorflow/tensorflow/issues/40065,“因此,要使 TF 工作,CA 证书必须位于 /etc/ssl/certs/ca-certificates.crt 并且无法更改。”我想除了让我的 sysAdmin 添加 /etc/ssl/certs/ca-certificates.crt 之外别无他法?
标签: python tensorflow