better warning at multiclass, fix cran check
This commit is contained in:
parent
da9f0989c6
commit
f848844310
@ -339,7 +339,7 @@ class FMatrixPage : public IFMatrix {
|
|||||||
}
|
}
|
||||||
if (ktop % 100000 == 0) {
|
if (ktop % 100000 == 0) {
|
||||||
utils::Printf("\r \r");
|
utils::Printf("\r \r");
|
||||||
utils::Printf("InitCol: %lu rows ", static_cast<unsigned long>(ktop));
|
utils::Printf("InitCol: %lu rows ", static_cast<unsigned long>(ktop));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -227,14 +227,19 @@ class BoostLearner : public rabit::ISerializable {
|
|||||||
*/
|
*/
|
||||||
inline void SaveModel(const char *fname) const {
|
inline void SaveModel(const char *fname) const {
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
bool use_stdout = false;;
|
||||||
|
#ifndef XGBOOST_STRICT_CXX98_
|
||||||
if (!strcmp(fname, "stdout")) {
|
if (!strcmp(fname, "stdout")) {
|
||||||
fp = stdout;
|
fp = stdout;
|
||||||
} else {
|
use_stdout = true;
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
fp = utils::FopenCheck(fname, "wb");
|
fp = utils::FopenCheck(fname, "wb");
|
||||||
}
|
}
|
||||||
utils::FileStream fo(fp);
|
utils::FileStream fo(fp);
|
||||||
std::string header;
|
std::string header;
|
||||||
if (save_base64 != 0|| fp == stdout) {
|
if (save_base64 != 0|| use_stdout) {
|
||||||
fo.Write("bs64\t", 5);
|
fo.Write("bs64\t", 5);
|
||||||
utils::Base64OutStream bout(fp);
|
utils::Base64OutStream bout(fp);
|
||||||
this->SaveModel(bout);
|
this->SaveModel(bout);
|
||||||
@ -243,7 +248,9 @@ class BoostLearner : public rabit::ISerializable {
|
|||||||
fo.Write("binf", 4);
|
fo.Write("binf", 4);
|
||||||
this->SaveModel(fo);
|
this->SaveModel(fo);
|
||||||
}
|
}
|
||||||
if (fp != stdout) fclose(fp);
|
if (!use_stdout) {
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
* \brief check if data matrix is ready to be used by training,
|
* \brief check if data matrix is ready to be used by training,
|
||||||
|
|||||||
@ -206,7 +206,8 @@ class SoftmaxMultiClassObj : public IObjFunction {
|
|||||||
Softmax(&rec);
|
Softmax(&rec);
|
||||||
const unsigned j = i % nstep;
|
const unsigned j = i % nstep;
|
||||||
int label = static_cast<int>(info.labels[j]);
|
int label = static_cast<int>(info.labels[j]);
|
||||||
utils::Check(label < nclass, "SoftmaxMultiClassObj: label exceed num_class");
|
utils::Check(label >= 0 && label < nclass,
|
||||||
|
"SoftmaxMultiClassObj: label must be in [0, num_class)");
|
||||||
const float wt = info.GetWeight(j);
|
const float wt = info.GetWeight(j);
|
||||||
for (int k = 0; k < nclass; ++k) {
|
for (int k = 0; k < nclass; ++k) {
|
||||||
float p = rec[k];
|
float p = rec[k];
|
||||||
|
|||||||
@ -208,7 +208,6 @@ struct SparseCSRFileBuilder {
|
|||||||
fo->Write(BeginPtr(buffer_data), (rptr[end] - rptr[begin]) * sizeof(IndexType));
|
fo->Write(BeginPtr(buffer_data), (rptr[end] - rptr[begin]) * sizeof(IndexType));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("CSV::begin_dat=%lu\n", begin_data);
|
|
||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
inline void WriteBuffer(void) {
|
inline void WriteBuffer(void) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user