|
|
@ -184,6 +184,18 @@ LoDTensor LodExpand(const LoDTensor& source, const LoD& lod, size_t level,
|
|
|
|
return tensor;
|
|
|
|
return tensor;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Get the absolute offset of a lod[start_level][start_idx:end_idx] and
|
|
|
|
|
|
|
|
// relative length of details for every levels(i.e., [start_level: ]).
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// For example,
|
|
|
|
|
|
|
|
// lod = [[0, 3, 4, 8], [0, 9, 10, 11, 13, 17, 19, 22, 24]]
|
|
|
|
|
|
|
|
// start_level = 0
|
|
|
|
|
|
|
|
// start_idx = 1
|
|
|
|
|
|
|
|
// end_idx = 3
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Returns:
|
|
|
|
|
|
|
|
// LoD = [[1, 4], [2, 4, 2, 3, 2]]
|
|
|
|
|
|
|
|
// pair<size_t, size_t> = {11, 24}
|
|
|
|
std::pair<LoD, std::pair<size_t, size_t>> GetSubLoDAndAbsoluteOffset(
|
|
|
|
std::pair<LoD, std::pair<size_t, size_t>> GetSubLoDAndAbsoluteOffset(
|
|
|
|
const LoD& lod, size_t start_idx, size_t end_idx, size_t start_level);
|
|
|
|
const LoD& lod, size_t start_idx, size_t end_idx, size_t start_level);
|
|
|
|
|
|
|
|
|
|
|
|