The diagram below shows the Paddle Frontend architecture and its interaction with OpenVINO Frontend API and Core APIs.
flowchart TB
fw_model[(Paddle Model)]
style fw_model fill:#427cb0
protobuf([protobuf])
subgraph frontend [ov::frontend::paddle::FrontEnd]
load_impl["load_impl()"]
end
fw_model--as stream-->load_impl
load_impl--load stream-->protobuf
protobuf--parsed object-->load_impl
subgraph input_model [ov::frontend::paddle::InputModel]
convert["convert()"]
end
load_impl--create-->input_model
ov_model[ov::Model]
convert--recursively parse all operations from the model-->ov_model
- The input to the Paddle Frontend is a PaddlePaddle protobuf model, and the output is the
ov::Modelwhich is semantically equivalent to the input. - Paddle Frontend is an implementation of the OpenVINO Frontend, which implements two main interfaces. The first interface is
load, which reads a Paddle protobuf model and represents it usingInputModelwithOpPlacesandTensorPlaces. The second interface isconvert, which represents theInputModelwithov::Modelby semantically mapping these Places to the OpenVINO opset.