Ahw*_*war 1 ssh nvidia python-2.7 docker tensorflow
我正在运行基于 GAN 的研究论文的开源代码,名为“Investigating Generative Adversarial Networks based Speech Dereverberation for Robust Speech Recognition”
源代码:这里
的依赖项包括:
我在我的 GPU 虚拟机上使用 python 2.7 拉了一个 TensorFlow 1.4.0 的 Docker 镜像,使用以下命令连接 ssh 连接:
docker pull tensorflow/tensorflow:1.4.0-gpu
Run Code Online (Sandbox Code Playgroud)
我在跑步
bash rsrgan/run_gan_rnn_placeholder.sh
Run Code Online (Sandbox Code Playgroud)
一切正常,模型正在训练,损失在减少,但只有一个问题,经过一些迭代终端显示没有输出,GPU仍然显示PID但没有释放内存,有时GPU-Utils变为0%。在 VM 的 GPU 和 CPU 上进行训练是相同的情况。这不是内存问题 因为按型号划分的 GPU 内存使用量为 11,000MB 中的 5400MB,而且 CPU 的 RAM 也非常大
当我在本地计算机上运行 21 次迭代时,每次迭代用 0.09 小时使用第一代 i5 和 4GB RAM 执行所有迭代。但是每当我在 docker 中使用 ssh 运行它时,GPU 和 CPU 都会一次又一次地发生问题。请记住,问题发生在 docker 内部,计算机与 ssh 连接,ssh 也不会经常断开连接。
如果迭代需要 1.5 小时,那么问题会在 2 到 3 次迭代后发生,如果单次迭代需要 0.06 小时,那么问题恰好在 25 次迭代中的 14 次之后发生
您可以尝试的第一件事是构建 Docker 映像,然后通过在命令中指定-ti标志或/bin/bash参数来进入 Docker 容器docker run。
克隆容器内的存储库,在构建映像时,您还应该将训练数据从本地复制到 docker 内。在那里运行训练和commit更改,以便您在退出容器后无需在以后的运行中重复这些步骤,如果未提交,所有更改都将丢失。
您可以在此处找到 docker commit 的参考。
$ docker commit <container-id> <image-name:tag>
在训练过程中检查 VM 的 GPU 和 CPU 利用率,看看是否一切都按预期工作。
Anaconda 是一个很棒的包管理器。您可以安装 anaconda 并创建一个虚拟环境并在virtual environment.
$ wget <url_of_anaconda.sh>
$ bash <path_to_sh>
$ source anaconda3/bin/activate or source anaconda2/bin/activate
$ conda create -n <env_name> python==2.7.*
$ conda activate <env_name>
通过conda(推荐)或pip.
运行你的代码。
Q1:在 Docker 中使用 Tensorflow 1.4 进行的 GAN 训练在没有提示的情况下停止
尽管 Docker 在 Docker 内部提供了操作系统级别的虚拟化,但我们在运行一些在系统上轻松运行的进程时会遇到问题。因此,要调试问题,您应该进入图像并执行上述步骤以调试问题。
Q2:在没有释放通过 SSH 连接连接到 VM 的内存的情况下训练停止
是的,这也是我之前遇到的问题。释放内存的最佳方式是停止 Docker 容器。您可以在此处找到更多资源分配选项。
此外,早期版本的 TensorFlow 在正确分配和清除内存方面存在问题。你可以在这里和这里找到一些参考。这些问题已在最新版本的 TensorFlow 中得到修复。
此外,检查 Nvidia 错误报告
步骤1:Nvidia-utils通过以下命令安装安装。您可以从 nvidia-smi 输出中找到驱动程序版本(问题中也提到了。)
$ sudo apt install nvidia-utils-<driver-version>
第二步:运行nvidia-bug-report.sh脚本
$ sudo /usr/bin/nvidia-bug-report.sh
日志文件将在您当前的工作目录中生成,名称为nvidia-bug-report.log.gz。此外,您可以在 访问安装程序日志/var/log/nvidia-installer.log。
您可以在以下链接中找到有关 Nvidia 日志的其他信息:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |