namespace v4 {
// namespaces
namespace ov::op::v4::ctc_loss;
namespace ov::op::v4::lstm_cell;
// classes
class CTCLoss;
class HSwish;
class Interpolate;
class LSTMCell;
class Mish;
class NonMaxSuppression;
class Proposal;
class Range;
class ReduceL1;
class ReduceL2;
class SoftPlus;
class Swish;
// global functions
template <class TShape, class TRShape = result_shape_t<TShape>>
std::vector<TRShape> shape_infer(
const CTCLoss \* op,
const std::vector<TShape>& input_shapes
);
template <class TShape, class TContainer, class TRShape = result_shape_t<TShape>>
std::vector<TRShape> shape_infer(
const Interpolate \* op,
const std::vector<TShape>& input_shapes,
TContainer& pads_begin,
TContainer& pads_end,
const ITensorAccessor& tensor_accessor
);
template <class TShape>
std::vector<result_shape_t<TShape>> shape_infer(
const LSTMCell \* op,
const std::vector<TShape>& input_shapes
);
template <class T, class TRShape = result_shape_t<T>>
std::vector<TRShape> shape_infer(
const NonMaxSuppression \* op,
const std::vector<T>& input_shapes,
const ITensorAccessor& ta = make_tensor_accessor()
);
template <class TShape, class TRShape = result_shape_t<TShape>>
std::vector<TRShape> shape_infer(
const Proposal \* op,
const std::vector<TShape>& input_shapes
);
template <class T, class TRShape = result_shape_t<T>>
std::vector<TRShape> shape_infer(
const Range \* op,
const std::vector<T>& input_shapes,
const ITensorAccessor& tensor_accessor = make_tensor_accessor()
);
} // namespace v4