我已经编写了使用 CPU 的 C++ 层,我想插入链接器框架,怎么做?chainer 可以将 CPU 和 GPU 层混合在一起吗?
问问题
103 次
1 回答
0
您可以使用 Cython、pybind11 或任何工具从 Python 调用 C++ 代码,以将 C++ 层嵌入到 Chainer。您必须编写一些胶水代码来做到这一点(例如,将 NumPy 数组缓冲区从/转换为用 C++ 编写的层中使用的数据格式,并将层的接口转换为 Chainer 风格的函数;后者应该很容易完成通过编写一个小的 Python 类)。
为了在前向/后向计算中混合 CPU 和 GPU,您可以使用F.copy()
; 它支持反向传播(参见https://docs.chainer.org/en/stable/reference/generated/chainer.functions.copy.html?highlight=copy)。
于 2017-08-23T07:49:31.577 回答