MCPcopy Create free account
hub / github.com/BVLC/caffe / TestForward

Method TestForward

src/caffe/test/test_power_layer.cpp:34–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32 virtual ~PowerLayerTest() { delete blob_bottom_; delete blob_top_; }
33
34 void TestForward(Dtype power, Dtype scale, Dtype shift) {
35 LayerParameter layer_param;
36 layer_param.mutable_power_param()->set_power(power);
37 layer_param.mutable_power_param()->set_scale(scale);
38 layer_param.mutable_power_param()->set_shift(shift);
39 PowerLayer<Dtype> layer(layer_param);
40 layer.SetUp(this->blob_bottom_vec_, this->blob_top_vec_);
41 layer.Forward(this->blob_bottom_vec_, this->blob_top_vec_);
42 // Now, check values
43 const Dtype* bottom_data = this->blob_bottom_->cpu_data();
44 const Dtype* top_data = this->blob_top_->cpu_data();
45 const Dtype min_precision = 1e-5;
46 for (int i = 0; i < this->blob_bottom_->count(); ++i) {
47 Dtype expected_value = pow(shift + scale * bottom_data[i], power);
48 if (power == Dtype(0) || power == Dtype(1) || power == Dtype(2)) {
49 EXPECT_FALSE(isnan(top_data[i]));
50 }
51 if (isnan(expected_value)) {
52 EXPECT_TRUE(isnan(top_data[i]));
53 } else {
54 Dtype precision = std::max(
55 Dtype(std::abs(expected_value * Dtype(1e-4))), min_precision);
56 EXPECT_NEAR(expected_value, top_data[i], precision);
57 }
58 }
59 }
60
61 void TestBackward(Dtype power, Dtype scale, Dtype shift) {
62 LayerParameter layer_param;

Callers 1

TYPED_TESTFunction · 0.45

Calls 5

set_scaleMethod · 0.80
ForwardMethod · 0.80
countMethod · 0.80
SetUpMethod · 0.45
cpu_dataMethod · 0.45

Tested by

no test coverage detected