| 39 | } |
| 40 | |
| 41 | inline void Forward(Graph& graph, const Device& device, int expected_batch_dim = 1) { |
| 42 | std::vector<float> data(expected_batch_dim * 3); |
| 43 | std::fill(data.begin(), data.end(), 1); |
| 44 | std::vector<Tensor> inputs; |
| 45 | inputs.emplace_back( |
| 46 | Tensor::from_buffer(data.data(), Shape({expected_batch_dim, 3}), device, DType::kFloat)); |
| 47 | const auto& value = graph.Forward(inputs); |
| 48 | ASSERT_TRUE(value.IsTensor()); |
| 49 | Tensor output = value.ToTensor(); |
| 50 | Shape shape = output.shape(); |
| 51 | ASSERT_EQ(shape.At(0), expected_batch_dim); |
| 52 | ASSERT_EQ(shape.At(1), 4); |
| 53 | std::vector<float> buf(expected_batch_dim * 4); |
| 54 | output.copy_to(buf.data()); |
| 55 | for (const float& element : buf) { ASSERT_EQ(element, 4); } |
| 56 | } |
| 57 | |
| 58 | } // namespace |
| 59 |
no test coverage detected