Jaki hosting do Flask wykorzystującego sztuczną inteligencję

0

Cześć,
napisałem aplikację React z backendem w Python-ie. Raz na jakiś czas powiedzmy co 30 sekund musi przeanalizować zdjęcie pod kątem wykrywania twarzy. Teraz pytanie moje brzmi - Jaki wybrać hosting, żeby taka operacja była jak najbardziej wydajna?

2

@Gouda105: Może jakieś rozwiązanie chmurowe? AWS, Azure, GCP udostępniają wiele usług stricte związanych z ML.

1

A ta logika wykrywania twarzy to jest zaimplementowana w Twojej aplikacji? Jeśli tak to może warto wynieść tą logikę poza aplikację do chmury np Azure Functions w planie consumption ma fajne warunki cenowe:

Azure Functions consumption plan is billed based on per-second resource consumption and executions. Consumption plan pricing includes a monthly free grant of 1 million requests and 400,000 GB-s of resource consumption per month per subscription in pay-as-you-go pricing across all function apps in that subscription.

Do tego trzeba jeszcze doliczyć koszt Azure Storage, ale to grosze.

Wtedy aplikacja może siedzieć sobie na dowolnym hostingu i tylko strzelać po HTTP do tej funkcji jak ma potrzebę. Po co obciążać niepotrzebnie serwer aplikacji dodatkowymi obliczeniami?

0

@markone_dev: Wygląda ciekawie. Czy jest jakiś sposób, żeby obliczyć ile zasobów zużywa wykonanie mojej funkcji w Pythonie, aby zorientować się z jakimi kosztami to się wiąże? Dodatkowo mam pytanie odnośnie Azure Storage. Do czego konkretnie miałoby służyć? Jeśli dobrze rozumiem Azure Functions odpowiadają za moc obliczeniową mojego kodu, a Azure Storage ma go przechowywać? Dodam, że moja aplikacja niczego nie przechowuje. Obraz jest przesyłany przez URI data image, a nie przechowywany na serwerze.

1

Czy jest jakiś sposób, żeby obliczyć ile zasobów zużywa wykonanie mojej funkcji w Pythonie, aby zorientować się z jakimi kosztami to się wiąże?

Tak. Zainteresuj się narzędziami APM (Application Performance Monitoring) takimi jak New Relic, Senty czy Prometheus. Jest tego trochę na rynku więc jest w czym wybierać. Większość platform to drogie kobyły dedykowane pod duże firmy i aplikacje, ale mają wersje Free do zastosowań niekomercyjnych.

Jeżeli nie chcesz korzystać z APM to możesz pobawić się PerfCounters (perfmon) jak masz Windows czyperf na Linuxie.

Dodatkowo mam pytanie odnośnie Azure Storage. Do czego konkretnie miałoby służyć? Jeśli dobrze rozumiem Azure Functions odpowiadają za moc obliczeniową mojego kodu, a Azure Storage ma go przechowywać?

Wynika to z tego, że runtime Azure Functions oparty jest o funkcjonalności Azure Storage takie jak Blob, Queue czy Table. Co więcej w planie Consumption kod twojej funkcji oraz jej konfiguracja i wszystkie pliki są trzymane w Azure Files na Storage Account jak sam zauważyłeś.

Jeżeli nie masz potrzeby przechowywać żadnych danych na Storage Account i nie korzystać z Tables, Queues, czy Blobs to wyjdzie cię to naprawdę tanio.

0

Robiłem kiedyś coś takiego na azure miałem front na jakimś hostingu który robił zdjęcie i wysyłał do azure
https://azure.microsoft.com/en-us/products/cognitive-services/face/#overview
Bardzo prosta sprawa, przykłady są.
Jak chcesz używać swoich rozwiązań to:
a) postawisz swój własny komputer. tu wystarczy np. jetson nano ale nie mam pojęcia o jakich zastosowaniach myślisz.
b) kupić maszynę z gpu. tylko to nie będzie takie tanie.
edit azure facerecognition:
free - Web/Container 20 transactions per minute Face Detection
Face Verification
Face Identification
Face Grouping
Similar Face Search
30,000 transactions free per month

1 użytkowników online, w tym zalogowanych: 0, gości: 1