个人笔记
MXNet编译相关
no 'return_type' compile error
可能是子模块的版本不对应造成的,解决方法:git pull & git submodule update & make clean & make -j
rabit框架使用总结
- Allreduce peforms reduction across different computation nodes and returns the result to every node.
- Broadcast is another method, this function allows one node to broadcast its local data to all other nodes.
#include <rabit.h> int main(int argc, char *argv[]) { rabit::Init(argc, argv); // load the latest checked model int version = rabit::LoadCheckPoint(&model); // initialize the model if it is the first version if (version == 0) model.InitModel(); // the version number marks the iteration to resume for (int iter = version; iter < max_iter; ++iter) { // at this point, the model object should allow us to recover the program state // each iteration can contain multiple calls of allreduce/broadcast rabit::Allreduce<rabit::op::Max>(&data[0], n); // checkpoint model after one iteration finishes rabit::Checkpoint(&model); } rabit::Finalize(); return 0; }
JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法
需要保持工程调用JNI的包名与so库定义的包名类名方法名一致