The gRPC interface defines a contract, establishing the server remote methods which the client can call, as well as the format of the messages sent between the server and the clients. This interface can be compiled to generate the gRPC source code responsible for the communication between any client and server, as well as the marshaling and unmarshaling of the messages
https://github.com/sipg-isr/tag_my_outfit_interface
The server itself has the code for the application. Our first published server is named Tag-my-outfit. This server is an interface for a CNN model called VSAM that tags fashion images described here or downloadable from AI4EU.
The service is communication independent, meaning it should not be dependent on how the server receives and sends messages. The server also needs a gRPC module that uses the gRPC interface. This module receives the messages from the client gRPC module, transforms the information into the inputs for the service, takes the predicted output, transforms it back into gRPC messages, and sends the response.
https://github.com/sipg-isr/tag_my_outfit_server
Finally, the client gRPC module serves as an interface for any clients that want to use the service and don’t want to focus on gRPC. Although any client can directly communicate with the server using the gRPC interface source code, this module is provided as an easy interface, so that clients can focus on their program logic and ignore the aspects relative to communicating with the server.
https://github.com/sipg-isr/tag_my_outfit_client
These tools were developed by ISR/IST and used in AI4EU to develop AI resources. They are available for download on GitHub and for public use under MIT License... (doc)
This code was developed by Duarte Alves to deliver the CNN-model Tag-My-Outfit. Questions or suggestions for further developments contact through AI4EU user Duarte Alves (https://www.ai4eu.eu/user/duarte-alves)