主机和 docker 容器之间的区别
difference between host and docker container
我一直在尝试训练具有特定架构的 3DCNN 网络。我想创建一个 docker 文件,其中包含使网络正常运行所需的所有步骤。问题是,如果我 运行 主机中的神经网络网络没有问题,一切正常。但是在 docker 容器上做几乎相同的事情我总是得到 "segmentation fault (core dumped)" 错误。
两个安装并不完全相同,但变化(可能安装了一些额外的软件包)应该不是问题,对吧?此外,在它开始迭代之前我没有任何错误,所以这似乎是一个内存问题。 GPU 工作在 docker 容器上,与宿主机是同一个 GPU。 python 代码相同。
Docker 容器神经网络开始使用数据进行训练,但在第 1 个时期它获得 "segmentation fault (core dumped)"。
所以我的问题如下:即使安装了完全相同的软件包,主机和 docker 容器之间是否也可能存在重大差异?特别是与 tensorflow 和 GPU 相关。因为错误必须来自代码外部,假设代码在类似的环境中工作。
希望我的解释足以说明我的问题,谢谢。
docker 图像将在运行时解析,将解析主机内核的系统调用。
参见“”。
在你的情况下,你的错误是
Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1, SSE4.2
参见“How to compile Tensorflow with SSE4.2 and AVX instructions?”
(由 tensorflow/tensorflow
issue 8037 引用)
您可以尝试从 Tensorflow built from source, using a docker multi-stage build.
构建图像
我一直在尝试训练具有特定架构的 3DCNN 网络。我想创建一个 docker 文件,其中包含使网络正常运行所需的所有步骤。问题是,如果我 运行 主机中的神经网络网络没有问题,一切正常。但是在 docker 容器上做几乎相同的事情我总是得到 "segmentation fault (core dumped)" 错误。
两个安装并不完全相同,但变化(可能安装了一些额外的软件包)应该不是问题,对吧?此外,在它开始迭代之前我没有任何错误,所以这似乎是一个内存问题。 GPU 工作在 docker 容器上,与宿主机是同一个 GPU。 python 代码相同。
Docker 容器神经网络开始使用数据进行训练,但在第 1 个时期它获得 "segmentation fault (core dumped)"。
所以我的问题如下:即使安装了完全相同的软件包,主机和 docker 容器之间是否也可能存在重大差异?特别是与 tensorflow 和 GPU 相关。因为错误必须来自代码外部,假设代码在类似的环境中工作。
希望我的解释足以说明我的问题,谢谢。
docker 图像将在运行时解析,将解析主机内核的系统调用。
参见“
在你的情况下,你的错误是
Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1, SSE4.2
参见“How to compile Tensorflow with SSE4.2 and AVX instructions?”
(由 tensorflow/tensorflow
issue 8037 引用)
您可以尝试从 Tensorflow built from source, using a docker multi-stage build.
构建图像