Open muebau opened 1 year ago
Related: #69 #73 #353
Oh very interesting. I read it all. Wouldn't it be a good idea to clarify the interface as there is obviously a lot of interest?
I think this is the main show stopper as there is no reliable way to extend the app at this front.
I think that would be great! Has any progress been done on it?
Describe the feature you'd like to request
I think it would be very desirable to make use of the great structure of this app.
I wrote some issue (https://github.com/matiasdelellis/facerecognition/issues/210) some time ago. Many of my ideas from then match this app and I simply love this work.
Temporary worker: It would be great to have some kind of separation between the app and the "workers". I think of a simple page with JavaScript, WASM and Web Workers API. If a (eg. admin) browser is opened at a workstation with a strong CPU/GPU the work would be done in the browser and make use of the computing power of this workstation. It is possible that every user can help to process its data by opening some special browser tab.
Permanent worker: The same approach could be used by some Docker containers to provide a permanent workers at workstations (servers) with strong CPU/GPU. Users could decide to use their workstation with a strong GPU to process their photos more quickly.
Special workers: If there is a interface definition there would be a easy way to use AI accelerators like Googles Coral USB TPU to do the work. If connected to a Raspberry Pi the app could make use of such hardware in form of a compliant docker container.
I think the existing approach with native and WASM workers builds a perfect base for this system.
Describe the solution you'd like
Define some clear interface. The interface could be used and provide processing power. Depending on the permissions the data is user specific (worker provided by a user) or global (server wide worker).
Describe alternatives you've considered
TensorFlow Serving is a simple REST API definition which would provide some kind of external inference solution. It might be a good way but would lack app specific "inside knowledge" which might be necessary.