5 #ifndef XGBOOST_COMMON_OBSERVER_H_ 6 #define XGBOOST_COMMON_OBSERVER_H_ 18 #if defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 19 #define OBSERVER_PRINT LOG(INFO) 20 #define OBSERVER_ENDL "" 21 #define OBSERVER_NEWLINE "" 22 #else // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 23 #define OBSERVER_PRINT std::cout 24 #define OBSERVER_ENDL std::endl 25 #define OBSERVER_NEWLINE "\n" 26 #endif // defined(XGBOOST_STRICT_R_MODE) && XGBOOST_STRICT_R_MODE == 1 37 #if defined(XGBOOST_USE_DEBUG_OUTPUT) 38 bool constexpr
static observe_ {
true};
40 bool constexpr
static observe_ {
false};
41 #endif // defined(XGBOOST_USE_DEBUG_OUTPUT) 61 auto const& tree = *p_tree;
66 void Observe(std::vector<T>
const& h_vec, std::string name)
const {
70 for (
size_t i = 0; i < h_vec.size(); ++i) {
92 template <
typename Parameter,
93 typename std::enable_if<
94 std::is_base_of<XGBoostParameter<Parameter>, Parameter>::value>::type* =
nullptr>
95 void Observe(
const Parameter &p, std::string name)
const {
105 for (
auto kv : args) {
118 #endif // XGBOOST_COMMON_OBSERVER_H_ void Observe(RegTree const *p_tree)
Definition: observer.h:59
#define OBSERVER_PRINT
Definition: observer.h:23
Definition: host_device_vector.h:85
std::vector< std::pair< std::string, std::string > > Args
Definition: base.h:238
void Update(int32_t iter) const
Definition: observer.h:44
A device-and-host vector abstraction layer.
static TrainingObserver & Instance()
Definition: observer.h:112
void Observe(std::vector< T > const &h_vec, std::string name) const
Definition: observer.h:66
void Observe(HostDeviceVector< T > const &vec, std::string name) const
Definition: observer.h:80
define regression tree to be the most common tree model. This is the data structure used in xgboost's...
Definition: tree_model.h:100
Object toJson(Parameter const ¶m)
Definition: json.h:548
void Observe(Args const &args) const
Definition: observer.h:102
std::vector< T > & HostVector()
void Observe(RegTree const &tree)
Definition: observer.h:49
namespace of xgboost
Definition: base.h:102
defines configuration macros of xgboost.
JsonObject Object
Definition: json.h:537
void SaveModel(Json *out) const override
saves the model config to a json object
void Observe(HostDeviceVector< T > *vec, std::string name) const
Definition: observer.h:86
Definition: observer.h:36
#define OBSERVER_ENDL
Definition: observer.h:24
void Observe(const Parameter &p, std::string name) const
Definition: observer.h:95
Data structure representing JSON format.
Definition: json.h:325
#define XGBOOST_EXPECT(cond, ret)
Definition: base.h:75
static void Dump(Json json, std::ostream *stream, bool pretty=ConsoleLogger::ShouldLog(ConsoleLogger::LogVerbosity::kDebug))
Dump json into stream.
#define OBSERVER_NEWLINE
Definition: observer.h:25