个人笔记
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库定义的包名类名方法名一致