MCPcopy Create free account
hub / github.com/apache/singa / ForwardSliceRowTest

Function ForwardSliceRowTest

test/singa/test_slice.cc:40–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40void ForwardSliceRowTest(std::shared_ptr<singa::Device> dev) {
41 size_t a = 2u, b = 1u, c = 3u;
42 singa::LayerConf conf;
43 conf.set_type("singa_slice");
44 auto slice_conf = conf.mutable_slice_conf();
45 slice_conf->set_axis(0);
46 slice_conf->add_slice_point(a);
47 singa::Slice layer;
48 layer.Setup({c}, conf);
49 layer.ToDevice(dev);
50
51 singa::Tensor t({a + b, c}, dev);
52 singa::Uniform(-1.f, 1.f, &t);
53 auto grads = layer.Forward(singa::kTrain, {t});
54 EXPECT_EQ(grads.size(), 2u);
55
56 t.ToHost();
57 const float* tptr = t.data<float>();
58
59 grads[0].ToHost();
60 const float* outa = grads[0].data<float>();
61 for (size_t i = 0; i < a; i++)
62 for (size_t j = 0; j < c; j++)
63 EXPECT_FLOAT_EQ(outa[i * c + j], tptr[i * c + j]);
64 grads[1].ToHost();
65 const float* outb = grads[1].data<float>();
66 for (size_t i = 0; i < b; i++)
67 for (size_t j = 0; j < c; j++)
68 EXPECT_FLOAT_EQ(outb[i * c + j], tptr[(i + a) * c + j]);
69}
70
71void ForwardSliceColumnTest(std::shared_ptr<singa::Device> dev) {
72 size_t a = 2u, b = 1u, c = 3u;

Callers 1

TESTFunction · 0.85

Calls 6

ToHostMethod · 0.80
UniformFunction · 0.50
SetupMethod · 0.45
ToDeviceMethod · 0.45
ForwardMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected