Skip to content
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

Modularization #680

Open
muebau opened this issue Feb 12, 2023 · 3 comments
Open

Modularization #680

muebau opened this issue Feb 12, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@muebau
Copy link

muebau commented Feb 12, 2023

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 (matiasdelellis/facerecognition#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.

@muebau muebau added the enhancement New feature or request label Feb 12, 2023
@kc9jud
Copy link

kc9jud commented Feb 17, 2023

Related: #69 #73 #353

@muebau
Copy link
Author

muebau commented Feb 17, 2023

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.

@nlahmi
Copy link

nlahmi commented Aug 6, 2023

I think that would be great! Has any progress been done on it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants