xgboost
generic_parameters.h
Go to the documentation of this file.
1 
5 #ifndef XGBOOST_GENERIC_PARAMETERS_H_
6 #define XGBOOST_GENERIC_PARAMETERS_H_
7 
8 #include <xgboost/logging.h>
9 #include <xgboost/parameter.h>
10 
11 #include <string>
12 
13 namespace xgboost {
14 
15 struct GenericParameter : public XGBoostParameter<GenericParameter> {
16  // Constant representing the device ID of CPU.
17  static int32_t constexpr kCpuId = -1;
18  static int64_t constexpr kDefaultSeed = 0;
19 
20  public:
21  // stored random seed
22  int64_t seed { kDefaultSeed };
23  // whether seed the PRNG each iteration
25  // number of threads to use if OpenMP is enabled
26  // if equals 0, use system default
27  int nthread;
28  // primary device, -1 means no gpu.
29  int gpu_id;
30  // fail when gpu_id is invalid
31  bool fail_on_invalid_gpu_id {false};
32  bool validate_parameters {false};
33 
39  void ConfigureGpuId(bool require_gpu);
43  int32_t Threads() const;
44 
45  // declare parameters
47  DMLC_DECLARE_FIELD(seed).set_default(kDefaultSeed).describe(
48  "Random number seed during training.");
49  DMLC_DECLARE_ALIAS(seed, random_state);
50  DMLC_DECLARE_FIELD(seed_per_iteration)
51  .set_default(false)
52  .describe(
53  "Seed PRNG determnisticly via iterator number, "
54  "this option will be switched on automatically on distributed "
55  "mode.");
56  DMLC_DECLARE_FIELD(nthread).set_default(0).describe(
57  "Number of threads to use.");
58  DMLC_DECLARE_ALIAS(nthread, n_jobs);
59 
60  DMLC_DECLARE_FIELD(gpu_id)
61  .set_default(-1)
62  .set_lower_bound(-1)
63  .describe("The primary GPU device ordinal.");
64  DMLC_DECLARE_FIELD(fail_on_invalid_gpu_id)
65  .set_default(false)
66  .describe("Fail with error when gpu_id is invalid.");
67  DMLC_DECLARE_FIELD(validate_parameters)
68  .set_default(false)
69  .describe("Enable checking whether parameters are used or not.");
70  }
71 };
72 } // namespace xgboost
73 
74 #endif // XGBOOST_GENERIC_PARAMETERS_H_
xgboost::GenericParameter::gpu_id
int gpu_id
Definition: generic_parameters.h:29
xgboost::GenericParameter::DMLC_DECLARE_PARAMETER
DMLC_DECLARE_PARAMETER(GenericParameter)
Definition: generic_parameters.h:46
xgboost::GenericParameter
Definition: generic_parameters.h:15
parameter.h
macro for using C++11 enum class as DMLC parameter
xgboost::GenericParameter::seed_per_iteration
bool seed_per_iteration
Definition: generic_parameters.h:24
xgboost::GenericParameter::fail_on_invalid_gpu_id
bool fail_on_invalid_gpu_id
Definition: generic_parameters.h:31
xgboost::XGBoostParameter
Definition: parameter.h:84
xgboost::GenericParameter::kDefaultSeed
static constexpr int64_t kDefaultSeed
Definition: generic_parameters.h:18
xgboost::GenericParameter::ConfigureGpuId
void ConfigureGpuId(bool require_gpu)
Configure the parameter ‘gpu_id’.
xgboost::GenericParameter::validate_parameters
bool validate_parameters
Definition: generic_parameters.h:32
xgboost::GenericParameter::nthread
int nthread
Definition: generic_parameters.h:27
xgboost::GenericParameter::Threads
int32_t Threads() const
xgboost::GenericParameter::kCpuId
static constexpr int32_t kCpuId
Definition: generic_parameters.h:17
xgboost::GenericParameter::seed
int64_t seed
Definition: generic_parameters.h:22
xgboost
namespace of xgboost
Definition: base.h:110