通过docker image nvcr.io/nvidia/torch进行的培训程序慢了41%

通过docker image nvcr.io/nvidia/torch进行的培训程序慢了41%,docker,nvidia,torch,luajit,nvidia-docker,Docker,Nvidia,Torch,Luajit,Nvidia Docker,我通过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 我的自定义图像基于nvcr.io/nvidia/

我通过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
我的自定义图像基于nvcr.io/nvidia/torch。我只添加我的培训脚本(.lua)并安装luajit。 所有结果都写在/mnt/data1中,而不是写在容器本身中

这是正常的还是我做错了什么?我如何调查浪费时间的来源

更新:我仔细检查了一下,在培训期间容器内没有写任何东西。所有数据都写入/mnt/data1


更新2:我在容器内尝试了推理例程,它不会比裸机设置花费更多的时间。

尝试
nvidia docker run--CPU 2-it--network=host--ipc=host-v/mnt/data1:/mnt/data1我的自定义映像bash
看看是否有帮助?我尝试了--CPU 2和--CPU 6。。而且速度要慢得多!约1200ms,2个CPU,800ms,6个CPU。当然,培训程序主要是在GPUAre上进行的,您是否能够提供运行在合成数据上的网络?您应该发布以获得NVIDIA的官方支持。@ChristianSarofeen遗憾的是,我不能。但它与imageNet类似。感谢链接到NVidia官方支持!试试nvidia docker run--CPU 2-it--network=host--ipc=host-v/mnt/data1:/mnt/data1我的自定义镜像bash看看是否有用?我试过--CPU 2和--CPU 6。。而且速度要慢得多!约1200ms,2个CPU,800ms,6个CPU。当然,培训程序主要是在GPUAre上进行的,您是否能够提供运行在合成数据上的网络?您应该发布以获得NVIDIA的官方支持。@ChristianSarofeen遗憾的是,我不能。但它与imageNet类似。感谢链接到NVidia官方支持!