Google 深度学习 VM 上的 PermissionDeniedError

PermissionDeniedError on Google Deep Learning VM

我尝试 运行 在 Google Deep Learning VM 上训练一个简单的 TF 模型。

我使用标准设置,获取 VM 运行ning,使用 gcloud 通过 ssh 进入 VM 并安装所有包。但是,每当我 运行 一个 .py 文件写入一些输出(例如 generate_tfrecord.py )或需要打开一些文件(model_main_tf2.py)时,我不断收到 PermissionDeniedError;权限被拒绝。

如果我之前运行 sudo su,错误消失,但是后来VM使用python 2.7,没有安装TF。我对 VM 的实际工作方式缺乏了解,但我假设使用了一些虚拟环境?如果是这样,应该有一些解决方法来使用 python 个文件。

发生这种情况是因为您的“普通”用户和 root 用户有一组不同的环境变量,包括 $PATH,它告诉 shell 在哪些目录中搜索可执行文件。在这里你可以找到环境变量的完整解释 [1].

此外,在下面的 link [2] 中,有一个很好的解释和解决方法,说明如何使用 root 用户 运行 您想要的 Python 版本。但是,我建议您改为使用虚拟环境,因为虚拟环境提供了几个优势,您可以在本文档 [3].

中看到

[1] https://wiki.archlinux.org/title/environment_variables

[2] sudo python runs old python version

[3] https://docs.python.org/3/tutorial/venv.html