Previously shape inference for TFSqueeze aborts when it encounters
negative squeeze dimension. From this commit, shape inference,
'fix_shape()', for TFSqueeze just return false, not abort program
to give a chance for later time, possibly after negative dimension
resolved.
Signed-off-by: Cheongyo Bahk <ch.bahk@samsung.com>
{
uint32_t input_rank = input_tensor_shape.rank();
- auto is_valid_squeeze_dims = [&squeeze_dims, &input_rank]() {
- if (squeeze_dims.size() >= input_rank)
- return false;
+ // Sanity check for 'squeeze_dims'
+ {
+ assert(squeeze_dims.size() < input_rank);
for (auto squeeze_dim : squeeze_dims)
{
// Negative squeeze dimensions should be resolve before
if (squeeze_dim < 0)
return false;
- if (squeeze_dim >= (int64_t)input_rank)
- return false;
+ assert(squeeze_dim < (int64_t)input_rank);
}
- return true;
};
- assert(is_valid_squeeze_dims());
-
// Remove squeeze dimensions only
for (uint32_t axis = 0; axis < input_rank; ++axis)
{