记录:小问题归档¶
记录一些小问题的解决方案。
Git 报错:可疑的所有权
问题描述:
fatal: detected dubious ownership in repository at '<REDACTED_PATH>'
To add an exception for this directory, call:
git config --global --add safe.directory <REDACTED_PATH>
问题分析:
该信息是 Git 发出的安全警告,表明在 <REDACTED_PATH> 目录下的 Git 仓库检测到了可疑的所有权。这意味着该仓库的文件所有权或权限设置不符合 Git 的安全预期,可能存在安全风险。通常情况是,Git 检测到该仓库中的某些文件的所有者与当前用户不一致,因此会触发此错误。解决方案包括更改文件的所有权,或按照提示信息添加该目录为信任目录。
解决方案:
按它说的做。
CUDA 运行时错误:版本不匹配
问题描述:
RuntimeError:
The detected CUDA version (12.2) mismatches the version that was used to compile
PyTorch (11.1). Please make sure to use the same CUDA versions.
服务器上同时安装了 CUDA 11.1 和 CUDA 12.2 两个版本的运行时库。系统管理员将 CUDA 符号链接设置为指向 CUDA 12.2 以满足最新的需要。然而,代码运行环境中的 PyTorch 是基于 CUDA 11.1 编译的,当尝试运行这些代码时,由于加载的是 CUDA 12.2 运行时库,导致代码无法正常执行,出现了运行时错误。
解决方案:
为了不影响其他用户使用,使用环境变量来解决问题,在运行代码前临时修改 PATH 和 LD_LIBRARY_PATH 环境变量,使其指向 CUDA 11.1 的安装路径。
进程端口被占用
问题描述:
问题分析:
在服务器某端口上运行程序,意外登出后该程序仍然占用端口,想重新运行代码就会报错:端口被占用。本来可以 Ctrl + C 停止程序解除占用,但重新登录后是新的会话,无法使用该方案。
解决方案:
先找到占用端口的进程的 PID,然后手动 Kill 掉
- 查找占用端口的进程:
- 结束占用端口的进程
幽灵进程:显卡被占用,但进程不存在
问题描述:
显卡被某各进程占用,但通过 nvitop、nvidia-smi 等方式查找进程时显示:Not Such Process。使用 kill 命令无法杀死 nvitop 显示的进程,因为它不存在,就像是一个幽灵进程。
幽灵进程
参考资料:
解决方案:
使用如下命令查看占用 GPU RAM,该命令可以显示这些幽灵进程的 PID:
之后手动 kill 进程即可。wandb error: failed to upsert bucket
问题描述:
wandb.errors.errors.CommError: failed to upsert bucket: returned error 403: {"data":{"upsertBucket":null},"errors":[{"message":"permission denied","path":["upsertBucket"],"extensions":{"code":"PERMISSION_ERROR"}}]}
参考资料:
解决方案:
使用 team 的名称。wandb 主页右上角点开 Teams 选项,找到团队名称。!python wandb.init(project=project-name, entity=<使用团队名称>)
