python中的16位浮点共享内存数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的16位浮点共享内存数组相关的知识,希望对你有一定的参考价值。

我试图使用类multiprocessing.Array在进程之间共享一个16位浮点数组。然而,看起来这个类只允许使用32位浮点数或64位浮点数(即double)。你知道如何处理这个问题吗?

答案

Numpy有16位浮点数:

In [64]: import numpy

In [65]: a = numpy.float16(0.112312)

In [66]: a
Out[66]: 0.1123

也许你可以在numpy.float16RawArray之间进行转换

https://docs.python.org/3.6/library/multiprocessing.html#multiprocessing.sharedctypes.RawArray

Shared-memory objects in multiprocessing

以上是关于python中的16位浮点共享内存数组的主要内容,如果未能解决你的问题,请参考以下文章

C 中的共享内存代码片段

浮点到 16 位二进制补码二进制,Python

从 python 中的共享库返回的数组 - 这是内存泄漏吗?

银行冲突CUDA共享内存?

C/C++ 32位浮点型float转16进制并用字符串输出,简洁明了

在 python 多处理中传递共享内存变量