stemann / ONNXRuntimeImageAnnotators.jl

MIT License
0 stars 0 forks source link

Generalization to arbitrary implementations of neural network inference, e.g. ONNXRuntime, Flux etc. #2

Open stemann opened 1 year ago

stemann commented 1 year ago

@ashwani-rathee has suggested that instead of having an ONNXRuntime-specific package implementing the annotate(image, annotator)-interface from ImageAnnotations.jl, there could instead be a generic package for neural network implementations - with a package extension for each neural network implementation, e.g. one for ONNXRuntime, one for Flux, one for ONNX.jl etc.

This makes sense as the necessary pre-preprocessing steps to go from image to neural network input should be the same regardless of the neural network representation - i.e. regardless of whether the neural network is represented in ONNX, in Flux etc.

stemann commented 1 year ago

I guess one drawback, could be that it would be impossible to make separate (breaking) changes to the implementation extensions...

(of course Julia v1.9+ would also be required, but with the native code caching etc. benefits of Julia v1.9+ this seems not so much of a drawback...)