Skip to content

Commit f297074

Browse files
committed
Rename Generator to RandomGenerator.
1 parent 7468a0b commit f297074

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

src/gpu/kmeans/kmeans_init.cuh

+10-9
Original file line numberDiff line numberDiff line change
@@ -82,19 +82,19 @@ template <typename T>
8282
class KmeansRandomInit : public KmeansInitBase<T> {
8383
private:
8484
int seed_;
85-
std::unique_ptr<GeneratorBase<T>> generator_impl_;
85+
std::unique_ptr<RandomGeneratorBase<T>> generator_impl_;
8686

8787
public:
8888
/*
8989
* @param seed Random seed for generating centroids.
9090
*/
9191
KmeansRandomInit(size_t _seed) :
92-
seed_(_seed), generator_impl_ (new UniformGenerator<T>) {}
92+
seed_(_seed), generator_impl_ (new UniformRandomGenerator<T>) {}
9393

9494
/*
9595
* @param gen Unique pointer to Random generator for generating centroids.
9696
*/
97-
KmeansRandomInit(std::unique_ptr<GeneratorBase<T>>& _gen) :
97+
KmeansRandomInit(std::unique_ptr<RandomGeneratorBase<T>>& _gen) :
9898
generator_impl_(std::move(_gen)) {}
9999

100100
virtual ~KmeansRandomInit() override {}
@@ -134,7 +134,7 @@ struct KmeansLlInit : public KmeansInitBase<T> {
134134
// Suggested in original paper, 8 is usually enough.
135135
constexpr static float MAX_ITER = 8;
136136

137-
std::unique_ptr<GeneratorBase<T>> generator_;
137+
std::unique_ptr<RandomGeneratorBase<T>> generator_;
138138

139139
// Buffer like variables
140140
// store the self dot product of each data point
@@ -156,7 +156,7 @@ struct KmeansLlInit : public KmeansInitBase<T> {
156156
*/
157157
KmeansLlInit () :
158158
over_sample_ (1.5f), seed_ (-1), k_ (0),
159-
generator_ (new UniformGenerator<T>) {}
159+
generator_ (new UniformRandomGenerator<T>) {}
160160

161161
/*
162162
* Initialize KmeansLlInit algorithm.
@@ -168,7 +168,7 @@ struct KmeansLlInit : public KmeansInitBase<T> {
168168
*/
169169
KmeansLlInit (T _over_sample) :
170170
over_sample_ (_over_sample), seed_ (-1), k_ (0),
171-
generator_ (new UniformGenerator<T>) {}
171+
generator_ (new UniformRandomGenerator<T>) {}
172172

173173
/*
174174
* Initialize KmeansLlInit algorithm.
@@ -181,7 +181,7 @@ struct KmeansLlInit : public KmeansInitBase<T> {
181181
*/
182182
KmeansLlInit (int _seed, T _over_sample) :
183183
seed_(_seed), over_sample_(_over_sample), k_(0),
184-
generator_ (new UniformGenerator<T>(seed_)) {}
184+
generator_ (new UniformRandomGenerator<T>(seed_)) {}
185185

186186
/*
187187
* Initialize KmeansLlInit algorithm.
@@ -193,8 +193,9 @@ struct KmeansLlInit : public KmeansInitBase<T> {
193193
* Note that when \f$over_sample != 1\f$, the probability for each data
194194
* point doesn't add to 1.
195195
*/
196-
KmeansLlInit (std::unique_ptr<GeneratorBase<T>>& _gen, T _over_sample) :
197-
generator_(std::move(_gen)), over_sample_ (1.5f), seed_ (-1), k_(0) {}
196+
KmeansLlInit (std::unique_ptr<RandomGeneratorBase<T>>& _gen, T _over_sample) :
197+
generator_(std::move(_gen)), over_sample_ (_over_sample), seed_ (-1),
198+
k_(0) {}
198199

199200
virtual ~KmeansLlInit () override {}
200201

src/gpu/matrix/KmMatrix/Generator.cuh

+9-10
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@
1010
#include "KmMatrix.hpp"
1111
#include "../../utils/utils.cuh"
1212

13-
1413
namespace h2o4gpu {
1514
namespace Matrix {
1615

1716
template <typename T>
18-
struct UniformGenerator : public GeneratorBase<T> {
17+
struct UniformRandomGenerator : public RandomGeneratorBase<T> {
1918
private:
2019
size_t size_;
2120
// FIXME: Cache random_numbers_ in a safer way.
@@ -28,27 +27,27 @@ struct UniformGenerator : public GeneratorBase<T> {
2827
}
2928

3029
public:
31-
UniformGenerator() : size_ (0) {
30+
UniformRandomGenerator() : size_ (0) {
3231
std::random_device rd;
3332
seed_ = rd();
3433
}
3534

36-
UniformGenerator (size_t _size, int _seed) : seed_(_seed) {
35+
UniformRandomGenerator (size_t _size, int _seed) : seed_(_seed) {
3736
if (_size == 0) {
3837
h2o4gpu_error("Zero size for generate is not allowed.");
3938
}
4039
initialize(_size);
4140
}
4241

43-
UniformGenerator(int _seed) :
42+
UniformRandomGenerator(int _seed) :
4443
seed_(_seed), size_ (0) {}
4544

46-
~UniformGenerator () {}
45+
~UniformRandomGenerator () {}
4746

48-
UniformGenerator(const UniformGenerator<T>& _rhs) = delete;
49-
UniformGenerator(UniformGenerator<T>&& _rhs) = delete;
50-
void operator=(const UniformGenerator<T>& _rhs) = delete;
51-
void operator=(UniformGenerator<T>&& _rhs) = delete;
47+
UniformRandomGenerator(const UniformRandomGenerator<T>& _rhs) = delete;
48+
UniformRandomGenerator(UniformRandomGenerator<T>&& _rhs) = delete;
49+
void operator=(const UniformRandomGenerator<T>& _rhs) = delete;
50+
void operator=(UniformRandomGenerator<T>&& _rhs) = delete;
5251

5352
KmMatrix<T> generate() override {
5453
thrust::device_ptr<T> rn_ptr (random_numbers_.dev_ptr());

src/gpu/matrix/KmMatrix/Generator.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace h2o4gpu {
1212
namespace Matrix {
1313

1414
template <typename T>
15-
class GeneratorBase {
15+
class RandomGeneratorBase {
1616
public:
1717
virtual KmMatrix<T> generate() = 0;
1818
virtual KmMatrix<T> generate(size_t _size) = 0;

tests/cpp/gpu/kmeans/test_kmeans_init.cu

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ using namespace h2o4gpu::kMeans;
1919
using namespace h2o4gpu::Matrix;
2020

2121
template <typename T>
22-
struct GeneratorMock : GeneratorBase<T> {
22+
struct GeneratorMock : RandomGeneratorBase<T> {
2323
public:
2424
KmMatrix<T> generate() override {
2525
h2o4gpu_error("Not implemented");
@@ -46,7 +46,7 @@ TEST(KmeansRandom, Init) {
4646
h_data[i] = i * 2;
4747
}
4848
KmMatrix<float> data (h_data, 4, 5);
49-
std::unique_ptr<GeneratorBase<float>> gen (new GeneratorMock<float>());
49+
std::unique_ptr<RandomGeneratorBase<float>> gen (new GeneratorMock<float>());
5050
KmeansRandomInit<float> init (gen);
5151

5252
auto res = init(data, 2);
@@ -134,7 +134,7 @@ TEST(KmeansLL, GreedyRecluster) {
134134

135135
// r --gtest_filter=KmeansLL.KmeansLLInit
136136
TEST(KmeansLL, KmeansLLInit) {
137-
std::unique_ptr<GeneratorBase<double>> mock_ptr (new GeneratorMock<double>);
137+
std::unique_ptr<RandomGeneratorBase<double>> mock_ptr (new GeneratorMock<double>);
138138
KmeansLlInit<double> kmeans_ll_init (mock_ptr, 2.5);
139139
thrust::host_vector<double> h_data (30);
140140
// We split the points into two groups, but the result is statistic.

0 commit comments

Comments
 (0)