Tensorflow因conda环境无写权限而失败

liu*_*wan 2 permission-denied conda

在我创建的conda环境中,我尝试运行tensorflow-hub,当tensorflow尝试获取写访问权限时它失败。

错误信息:

tensorflow.python.framework.errors_impl.PermissionDeniedError:
 /tmp/tfhub_modules/96e8f1d3d4d90ce86b2db128249eb8143a91db73.lock.tmp40b1daf1ca7d4f62a23d9457654a995d;
Permission denied
Run Code Online (Sandbox Code Playgroud)

错误代码:

module_url =
"https://tfhub.dev/google/universal-sentence-encoder-large/3"  embed =
hub.Module(module_url)
Run Code Online (Sandbox Code Playgroud)

我知道原因是我的 py 文件没有写访问权限,但如果我继续想在我创建的 conda 环境而不是本地计算机中工作,我不知道如何解决它。

整个错误消息:

File
"/home/ld-sgdev/liuhuo_wan/.conda/envs/tensorflow-hub/lib/python3.7/site-packages/tensorflow_hub/resolver.py",
line 379, in atomic_download
     overwrite=False)   File "/home/ld-sgdev/liuhuo_wan/.conda/envs/tensorflow-hub/lib/python3.7/site-packages/tensorflow_hub/tf_utils.py",
 line 65, in atomic_write_string_to_file
     f.write(contents)   File "/home/ld-sgdev/liuhuo_wan/.conda/envs/tensorflow-hub/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py", line 106, in write
     self._prewrite_check()   File "/home/ld-sgdev/liuhuo_wan/.conda/envs/tensorflow-hub/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py", line 92, in _prewrite_check
     compat.as_bytes(self.__name), compat.as_bytes(self.__mode)) tensorflow.python.framework.errors_impl.PermissionDeniedError:
 /tmp/tfhub_modules/96e8f1d3d4d90ce86b2db128249eb8143a91db73.lock.tmp40b1daf1ca7d4f62a23d9457654a995d;
 Permission denied
Run Code Online (Sandbox Code Playgroud)

Emm*_*mma 5

遇到了同样的问题。就我而言,以下命令可以解决该问题。

$ 导出 TFHUB_CACHE_DIR=./tmp

我认为根本原因是,当您使用 tf_hub 加载某些内容时,它使用默认文件夹(/tmp)来保存下载的模型。就我而言,我的 Tensorflow 没有默认文件夹的写入权限。