Skip to content

Modularization #680

@muebau

Description

@muebau

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions