| 63 | } |
| 64 | |
| 65 | static std::vector<PartialTensorShape> MakeDenseShapes(int size, |
| 66 | bool add_extra_shape, |
| 67 | int unknown_outer_dims) { |
| 68 | std::vector<PartialTensorShape> shapes(size); |
| 69 | for (int i = 0; i < size; ++i) { |
| 70 | // Make shapes be the sequence [?,1]; [?,1,2], [?,1,2,3]... |
| 71 | // where the number of prefixed ? depends on unknown_outer_dims. |
| 72 | if (i == 0) { |
| 73 | shapes[i].Clear(); |
| 74 | for (int d = 0; d < unknown_outer_dims; ++d) { |
| 75 | shapes[i].AddDim(-1); |
| 76 | } |
| 77 | } else { |
| 78 | shapes[i] = shapes[i - 1]; |
| 79 | } |
| 80 | shapes[i].AddDim(i + 1); |
| 81 | } |
| 82 | if (add_extra_shape) shapes.push_back(PartialTensorShape({})); |
| 83 | return shapes; |
| 84 | } |
| 85 | |
| 86 | TEST(ParsingOpsTest, ParseExample_ShapeFn) { |
| 87 | ShapeInferenceTestOp op("ParseExample"); |
no test coverage detected