-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minimal example for downstream inference UDF #27
Comments
@VictorVerhaert, according to Hans you would already have an inference UDF notebook for grassland watch. Would you be able to share it in a PR so @GriffinBabe can have a look at it? |
Yes I'll add it to the examples on the github. |
My inference notebook does not use GFMap however. for now I would just suggest putting this example in https://github.com/Open-EO/openeo-community-examples and referencing it here |
FYI you can inspect my pipelines here: https://github.com/gisat/grasslandwatch/tree/main/lc_offline |
Ah ok interesting. Definitely useful but we should also work on a GFMAP-based inference workflow here. |
I assume the functionality of GFMap for inference would mainly be to split up the spatial extent that we want to perform inference on as well as job managing right? |
GFMAP standardizes band names across backends, lays out typical data flow paths, takes care of loading collections and rescaling them into the most efficient datatype, applies collection-specific standardized processes, etc. That goes much broader than just the job splitting concept. |
Yes of course, I meant what would be visible in the example notebook and what to focus on in the explanation. |
@VictorVerhaert one thing about the extraction pipeline: The S1 bands are scaled in uint16 in the following code block (in the fetching preprocessing) https://github.com/Open-EO/openeo-gfmap/blob/main/src/openeo_gfmap/fetching/s1.py#L132 |
I like the idea of using the common ONNX library. I see online that it is possible to convert any Sklearn, PyTorch and Tensorflow model to that format. Even catboost is directly compatible. Based on the inference UDF of @VictorVerhaert and the Feature Extractor functionalities already implemented in GFMAP I came with this first idea for a Model Inference base class, that an user can override to implement its own model inference pipeline. Please take a look and tell me what do you think: We could very well also provide a Model Inference default implementation that requires an path to download the ONNX model and the name of the input tensor as unique parameters, and that returns the probability values or directly the max_probability argument. One thing that needs to be taken care of by the user is the dependency of ONNX within the OpenEO job. On the long term this could be directly included in the default OpenEO UDF environment, but so far we need to specify the .zip file in the |
on this last point: @HansVRP and I had a similar discussion this morning. |
Closed by #88 |
We need a minimal example showing how external projects can make use of OpenEO-GFMAP functionality for inference purposes:
The text was updated successfully, but these errors were encountered: