木牛流马
木牛流马
> I fixed this mistake right now. 你好,我重新下载源码编译,生成了libxlearn_api.so文件,替换了之前的版本,在运行的时候,打印出来的版本号是0.3.7应该是替换ok了,内存还是消耗完了,最后直接卡死了。我的数据文件是8G,本机内存8G。
> @Muniuliuma 数据文件 8G,内存也是 8G,这种情况是有可能把内存用完的。原因:数据经过解析之后不一定还是8G,因为还有一些辅助空间需要申请,比如模型的内存。除此之外,机器当前可用内存可能没有 8G,因为还有系统其他进程在消耗内存。所以一般建议还是要把内存预留足够一些。这个 issue 更新之前,xLearn 需要使用 16G 的内存来处理 8G 数据,现在只需要 8G 左右就可以了。 那就是本机可用内存不能小于数据集的大小吗,转换成二进制文件的时候,能不能一批批的去读取数据
> @Muniuliuma 二进制的好处并不是节省内存,而是大大减少数据序列化的开销,这个比文件IO费时多了。 现在是分批读取的吗,那一批读取大小是多少,我8g的训练集,内存还是会爆掉,导致转化成二进制文件失败。我在用libffm的时候,它也会转化成二进制文件,但是他消耗内存2个g左右,并且转化很快。