Administratieve informatie
Titel | Het dienen van productiemodellen |
Looptijd | 60 minuten |
Module | B |
Type les | Tutorial |
Focus | Praktisch — Organisatie-AI |
Onderwerp | Bouwproductiemodel API |
Sleutelwoorden
machine learning opertion, containers,
Leerdoelen
- Vertrouwd raken met containerisatie
- Het leren van TFX Serving
- Mogelijkheid om de server lokaal en op Azure Container instances toe te passen
Verwachte voorbereiding
Leren van gebeurtenissen die moeten worden voltooid voordat
Geen.
Verplicht voor studenten
- Installeer WSL 2 voordat u Docker installeert
- U kunt de optie Windows Hyper-V gebruiken, maar dit ondersteunt GPU’s niet
- U moet Ubuntu (of andere geschikte varianten) installeren met het WSL CLI-commando wsl --install -d ubuntu
- Voor sommige machines moet de WSL ook worden bijgewerkt met het commando wsl --update ( Meer informatie over deze update)
- U moet de nieuwste NVIDIA/CUDA drivers geïnstalleerd hebben
- Installeer Docker voor Windows: https://docs.docker.com/desktop/install/windows-install/
- Maak een Azure-account met toegang tot Azure Container Instances (ACI)
Optioneel voor studenten
Referenties en achtergronden voor studenten
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao en Li Fei-Fei. Nieuwe dataset voor Fine-Grained Image Categorization. Eerste workshop over Fine-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Aanbevolen voor docenten
- Doe de taken vermeld als verplicht en optioneel voor de studenten.
Lesmateriaal
Instructies voor docenten
Productiemodellen met behulp van TFX Serving
- Deze tutorial introduceert studenten om een ontwikkeld getraind model te nemen dat is ontwikkeld in een Jupyter Notebook (met behulp van Tensorflow 2.x en Keras) en het opslaan van het model in Tensorflow formaat. De tutorial zal beginnen met het ontwikkelen van een basis CNN om het brood van een hond te identificeren. We zullen het model dan opslaan als een Tensorflow-model. De tutorial zal dan gebruik maken van de TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) benadering voor MLOps waar we in deze tutorial zullen focussen op TRX server component, dat is het bouwen van rustgevende API’s om te gebruiken/query in productie-omgevingen. Hiervoor bouwen we een Docker TFX serve image en implementeren we deze afbeelding:
- Lokaal (localhost)
- Via Azure Container Instances (ACI), waar een openbaar IP-adres kan worden gevraagd
- Er zijn voorafgaande installaties nodig, zie de verplichte voorbereidingen voor studenten hieronder.
- De dataset is de Stanford honden dataset, waarin we gebruik maken van twee klassen van honden, Jack Russel’s en Rhodesian Ridgeback’s, de volledige dataset is hier te vinden, We hebben ook de subset gebruikt in deze tutorial in de dataset sectie hieronder.
- We hebben ook alle Docker CLI commando’s aan de onderkant van deze tutorial WIKI pagina.
Overzicht/tijdschema
Duur (Min) | Omschrijving |
---|---|
20 | Probleem 1: Het bouwen van een CNN model met behulp van een subset van de Stanford honden dataset, het opslaan van dit model als een Tensorflow model |
10 | Probleem 2: Het Tensorflow-model implementeren naar een Rest API lokaal (met Docker) en het model opvragen |
20 | Probleem 3: Het Tensorflow-model implementeren naar een Rest API met behulp van Azure Container Instances (ACI) (met Docker) en het model opvragen |
10 | Samenvatting van het forward pass-proces |
Docker CLI commando’s
De volgende commandoregel interface commando’s worden gebruikt in deze tutorial om de modellen uit te voeren.
Lokaal te runnen
Stap 1: Trek tensorflow
Docker trek tensorflow/serving: recentste-gpu
Stap 2: Voer de afbeelding uit
Docker run --gpus all -p 8501:8501 --name tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
of zonder GPU
Docker run -p 8501:8501 --name tfserving_classifier --mount type=bind,source=c:\production\,target=/modellen/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
Uitvoeren op Azure met behulp van ACI
Stap 1: Wijzig de lokale afbeelding om het model bij te voegen
Docker run -d --name serving_base tensorflow/serving:laatste-gpu Docker c:\production\ serving_base:/modellen/img_classifier Docker ps -a„” # om id te krijgen Docker commit --change „ENV MODEL_NAME img_classifier” &id gaat hier> tensorflow_dogs_gpu Docker doodt serving_base
Stap 2: Afbeelding implementeren naar Azure ACI
Docker login azure Docker-context maakt aci deleteme Docker context gebruik deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Stap 3 Toegang tot de ACI-logboeken, het IP-adres en vervolgens stoppen en verwijderen van de ACI-service =====
Docker logs jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Erkenningen
Keith Quille (TU Dublin, Tallaght Campus)
Het Human-Centered AI Masters-programma werd mede gefinancierd door de Connecting Europe Facility van de Europese Unie in het kader van de subsidie CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.