【问题标题】:Error loading tensorflow_datasets: error with Google cloud加载 tensorflow_datasets 时出错:Google 云出错
【发布时间】: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


【解决方案1】:

'ln -s /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt' 解决了这个问题。

【讨论】:

  • 嗨,@user4948459,您能否提供有关此解决方案的更多信息? 'ln -s /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt'具体是什么?
猜你喜欢
  • 2019-11-16
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 2014-06-26
  • 2012-11-04
  • 2013-02-11
相关资源
最近更新 更多