Inference and Training with Visual Recognition Cloud Services
Lotti opened this issue · 1 comments
Hello @kinhong!
Thank your for addind different colours on annotations! It's very useful.
I'd like to contribute more on your project by adding a section (and code) that uses Visual Recognition Cloud Services (from Amazon, Microsoft, Google, IBM, etc.) to do Inference and Training.
I tried to do it by myself, six months ago, but I'm not so fluent in Java and JDK... I've got lost training to understand the code architecture.
Can you spend time (writing emails or chatting) to explain to me how your app is structured in order to:
- Add a preferences panel where store credentials of cloud services
- Save these parameters in a config file.. in a dedicated section of what already exists in your app
- Identify a hook where I'll put code to call cloud services to do inference and training
- Develop cloud services plugins.
Thank you.
@Lotti, thanks in advance for your willingness to contribute!
Besides Java, OpenLabeler uses JavaFX as the GUI framework extensively (especially the properties and binding), so you'll also have to be familiar in those areas as well.
To answer your specific questions:
- The preferences code is placed under the
com.easymobo.openlabeler.preference
package. Start fromPreferencePane
and go from there - Preferences settings are stored using
java.util.prefs.Preferences
framework. Start by looking atcom.easymobo.openlabeler.preference.Settings
- The local TensorFlow inference and training (using Docker Container) code is grouped under the
com.easymobo.openlabeler.tensorflow
package. Start fromObjectDetector#detect
and you will understand how to integrate inferencing into OpenLabeler - OpenLabeler currently doesn't expose any "plugins" framework or API. Perhaps you can specify your ideas/requirements in more detail, for example, state a few use cases