Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在自定义运算符中使用多处理_Python_Mxnet - Fatal编程技术网

Python 在自定义运算符中使用多处理

Python 在自定义运算符中使用多处理,python,mxnet,Python,Mxnet,在自定义运算符的代码中,我有这样的行: for i in xrange(batch_size): numpy.XXX 为了获得更好的性能,我使用多处理。但是它被卡住了。也许,您的自定义运算符的完整示例有助于诊断问题,但我可以根据您提供的代码片段给出一些建议: 不要在自定义运算符中使用numpy。问题是,使用Numpy最终会迫使MXNet将数据移动到CPU中,从而使计算速度比使用GPU慢。有了NumPy,就不可能使用GPU了 不要使用foreach循环查看批处理中的项目。由于性能原因,

在自定义运算符的代码中,我有这样的行:

 for i in xrange(batch_size):
    numpy.XXX

为了获得更好的性能,我使用多处理。但是它被卡住了。

也许,您的自定义运算符的完整示例有助于诊断问题,但我可以根据您提供的代码片段给出一些建议:

  • 不要在自定义运算符中使用numpy。问题是,使用Numpy最终会迫使MXNet将数据移动到CPU中,从而使计算速度比使用GPU慢。有了NumPy,就不可能使用GPU了

  • 不要使用foreach循环查看批处理中的项目。由于性能原因,MXNet的所有运算符都支持批处理输入

  • 如果仍需要在自定义运算符中对其他维度使用循环,请使用。它的制作方式可以同时与
    NDArray
    Symbol
    一起使用。检查如何使用它

  • 非常感谢。NDArray中没有“numpy.where”,我认为“numpy.where”在CPU中执行得更好。我在图像检测中使用foreach进行自定义建议。