/** empty the buffer */ ssize_t Swipl_IO::_write_f(void *handle, char* buf, size_t bufsize) { auto e = pq_cast<Swipl_IO>(handle); if (e->target) { emit e->user_output(QString::fromUtf8(buf, bufsize)); e->flush(); } return bufsize; }
void output_svdpp_result(std::string filename) { MMOutputter_mat<vertex_data> user_output(filename + "_U.mm", 0, M, "This file contains SVD++ output matrix U. In each row D factors of a single user node. Then additional D weight factors.", latent_factors_inmem, 2*D); MMOutputter_mat<vertex_data> item_output(filename + "_V.mm", M ,M+N, "This file contains SVD++ output matrix V. In each row D factors of a single item node.", latent_factors_inmem); MMOutputter_vec<vertex_data> bias_user_vec(filename + "_U_bias.mm", 0, M, BIAS_POS, "This file contains SVD++ output bias vector. In each row a single user bias.", latent_factors_inmem); MMOutputter_vec<vertex_data> bias_mov_vec(filename + "_V_bias.mm", M, M+N, BIAS_POS, "This file contains SVD++ output bias vector. In each row a single item bias.", latent_factors_inmem); MMOutputter_scalar gmean(filename + "_global_mean.mm", "This file contains SVD++ global mean which is required for computing predictions.", globalMean); logstream(LOG_INFO) << "SVDPP output files (in matrix market format): " << filename << "_U.mm" << ", " << filename + "_V.mm, " << filename << "_U_bias.mm, " << filename << "_V_bias.mm, " << filename << "_global_mean.mm" << std::endl; }