Wykonałem eksperyment uczenia komputerowego Azure, który pobiera mały zestaw danych (tablica 12x3) i niektóre parametry oraz wykonuje niektóre obliczenia przy użyciu kilku modułów Pythona (obliczenia regresji liniowej i kilka innych). Wszystko działa dobrze.Żądanie uczenia się maszyny Azure opóźnienie odpowiedzi
Zainstalowałem eksperyment i chcę teraz przesyłać dane z poziomu aplikacji. Wywołanie API przychodzi i wraca z poprawnymi wynikami, ale obliczenie prostej regresji liniowej zajmuje do 30 sekund. Czasami jest to 20 sekund, czasami tylko 1 sekunda. Nawet jednorazowo osiągnąłem 100 ms (to jest to, co chciałbym), ale 90% czasu wykonania żądania zajmuje więcej niż 20 sekund, co jest niedopuszczalne.
Sądzę, że ma to coś wspólnego z eksperymentem, lub nadal znajduje się w gnieździe programisty, ale nie mogę znaleźć ustawień, aby uruchomić go na szybszym komputerze.
Czy istnieje sposób na przyspieszenie realizacji?
Edytuj: Aby wyjaśnić: Różne czasy są uzyskiwane z tymi samymi danymi testowymi, po prostu wysyłając to samo żądanie wiele razy. To sprawiło, że doszedłem do wniosku, że musi to mieć coś wspólnego z tym, że moja prośba jest umieszczona w kolejce, jest pewne opóźnienie startowe lub jestem dławiony w jakiś inny sposób.
Twoja odpowiedź wraz z [tym artykułem] (http://jiffie.blogspot.be/2015/10/trying-to-figure-out-azure-ml.html) pozwoliła mi zrozumieć problem: domyślnie są przydzielone 20 pojemników, na początku wszystkie są zimne. Nie wykonywałem połączeń jednocześnie i sporo go aktualizowałem, więc częściej nie dzwoniłem do jednego z tych zimnych pojemników, co trwało około 30 sekund. Dopiero po uderzeniu w wszystkie pojemniki, gdy masz gwarancję szybkiego reagowania. Do testowania obniżyłem do 4 kontenerów, co oznacza, że zaczynam od 4 powolnych połączeń, po których wszystkie pojemniki są ciepłe. – JrtPec
Dzięki, przejrzę artykuł i dodam wszystko, co przegapiłem. –
Te "chłodne" pojemniki są jednak niedogodnością. Przypuśćmy, że zaktualizuję usługę sieciową, pierwsze 20 żądań, które klienci wprowadzą, będzie bardzo wolne (w zależności od liczby jednoczesnych wywołań w ustawieniach będzie jeszcze gorzej). Czy istnieje sposób na poinformowanie wszystkich kontenerów, aby "rozgrzały się" po wdrożeniu? – JrtPec