Python 在集群环境中使用tensorflow会由于fork()/system()调用而产生错误

Python 在集群环境中使用tensorflow会由于fork()/system()调用而产生错误,python,tensorflow,keras,mpi,mpi4py,Python,Tensorflow,Keras,Mpi,Mpi4py,我正在集群环境中使用Keras和TensorFlow后端。 我没有在网络上进行任何反向传播,只使用预测(…),层。获取权重()和层。设置权重(…) 我直接操纵神经网络的参数,使用进化策略优化适应度函数 我有一个主程序,生成N个参数集(权重和偏差),然后使用MPI将这些参数集传递给工人。为此,我使用mpi4py。然后,这些工作人员在他们自己的序列模型(keras)实例上设置这些参数,并通过利用该网络预测动作来评估适应度函数。然后将适应度传递回主适应度,主适应度调整参数集采样的分布 运行代码时,我收

我正在集群环境中使用Keras和TensorFlow后端。 我没有在网络上进行任何反向传播,只使用
预测(…)
层。获取权重()
层。设置权重(…)

我直接操纵神经网络的参数,使用进化策略优化适应度函数

我有一个主程序,生成N个参数集(权重和偏差),然后使用MPI将这些参数集传递给工人。为此,我使用mpi4py。然后,这些工作人员在他们自己的序列模型(keras)实例上设置这些参数,并通过利用该网络预测动作来评估适应度函数。然后将适应度传递回主适应度,主适应度调整参数集采样的分布

运行代码时,我收到以下警告:

MPI进程执行了一个涉及调用
fork()
创建子进程的系统调用。Open MPI当前正在运行 在可能导致内存损坏或 其他系统错误;您的MPI作业可能会挂起、崩溃或产生静音 数据损坏。使用
fork()
(或
system()
或其他调用 强烈反对创建子进程)


我实现了一个没有keras/tensorflow的算法版本,错误消失了。一、 因此,请相信tensorflow正在执行
system()
fork()
调用。有没有可能阻止tensorflow执行此类调用?

编译tensorflow时是否遵循了所列的说明?没有,我是使用pip安装的。但我认为这不适用于我,因为我不想使用与MPI并行的tensorflow—只有一个worker和一个tensorflow实例。