我通过 NVidia docker image nvcr.io/nvidia/torch 训练了一个 DNN。一切正常,除了在我的机器上执行时它比训练时间慢得多(+41%)。一批执行大约需要 410 毫秒,而不是裸机上的 290 毫秒。
我的 nvidia-docker 运行命令:
nvidia-docker run -it --network=host --ipc=host -v /mnt/data1:/mnt/data1 my-custom-image bash
my-custom-image 基于 nvcr.io/nvidia/torch。我只添加我的训练脚本 (.lua) 并安装 luajit。所有结果都写入 /mnt/data1 而不是容器本身。
这是正常的还是我做错了什么?我如何调查浪费的时间从何而来?
更新:我仔细检查过,训练期间容器内没有写任何内容。所有数据都写入/mnt/data1。
Update2:我尝试了容器内的推理例程,它并不比裸机设置花费更多的时间。