Administrativ information
Titel | Betjäna produktionsmodeller |
Varaktighet | 60 minuter |
Modul | B |
Typ av lektion | Handledning |
Fokus | Praktiskt – Organisatorisk AI |
Ämne | Byggproduktionsmodell API |
Nyckelord
maskininlärning, behållare,
Lärandemål
- Bekanta dig med containerisering
- Lär dig TFX Servering
- Möjlighet att använda servering lokalt och på Azure Container Instances
Förväntad förberedelse
Lärande händelser som ska slutföras innan
Ingen.
Obligatoriskt för studenter
- Installera WSL 2 innan du installerar Docker
- Du kan använda alternativet Windows Hyper-V, men detta stöder inte GPU: s
- Du måste installera Ubuntu (eller andra lämpliga varianter), med WSL CLI kommando wsl --install -d ubuntu
- För vissa maskiner måste WSL också uppdateras med kommandot wsl --update (Mer information om denna uppdatering)
- Du måste ha de senaste NVIDIA/CUDA drivrutiner installerade
- Installera Docker för Windows: https://docs.docker.com/desktop/install/windows-install/
- Skapa ett Azure-konto med åtkomst för att skapa Azure Container Instances (ACI)
Valfritt för studenter
Referenser och bakgrund för studenter
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao och Li Fei-Fei. Ny datauppsättning för finfördelad bildkategorisering. Första workshopen om Fine-Grained Visual Categorization (FGVC), IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011.
Rekommenderas för lärare
- Gör de uppgifter som anges som obligatoriska och valfria för eleverna.
Lektionsmaterial
Instruktioner för lärare
Produktionsmodeller med TFX Servering
- Denna handledning kommer att introducera eleverna att ta en utvecklad utbildad modell som utvecklades i en Jupyter Notebook (med Tensorflow 2.x och Keras) och spara modellen i Tensorflow format. Handledningen kommer att börja med att utveckla en grundläggande CNN för att identifiera en hunds bröd. Vi sparar sedan modellen som en Tensorflow-modell. Handledningen kommer sedan att använda TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) tillvägagångssätt för MLOps där vi kommer att fokusera i denna handledning på TRX servering komponent, som bygger vilsamma API:er att använda/fråga i produktionsmiljöer. För att göra detta kommer vi att bygga en Docker TFX-serverbild och distribuera den här bilden:
- Lokalt (lokalt värd)
- Via Azure Container Instances (ACI), där en offentlig IP-adress kan sökas
- Det finns tidigare installationer som behövs, se de obligatoriska förberedelserna för studenter nedan.
- Datasetet är Stanford hundar dataset, där vi använder två klasser av hundar, Jack Russels och Rhodesian Ridgeback s, den fullständiga datasetet kan hittas här, Vi har också tillhandahållit delmängden som används i denna handledning i dataset avsnittet nedan.
- Vi har också tillhandahållit alla Docker CLI-kommandon längst ner på denna handledning WIKI sida.
Skiss/tidsschema
Varaktighet (min) | Beskrivning |
---|---|
20 | Problem 1: Bygga en CNN-modell med hjälp av en delmängd av Stanford hundar dataset, spara denna modell som en Tensorflow modell |
10 | Problem 2: Distribuera Tensorflow-modellen till ett Rest API lokalt (med Docker) och fråga modellen |
20 | Problem 3: Distribuera Tensorflow-modellen till ett Rest API med Azure Container Instances (ACI) (med Docker) och fråga modellen |
10 | Sammanfattning av processen för framåtpass |
Docker CLI-kommandon
Följande kommandoradsgränssnittskommandon används i den här handledningen för att köra modellerna.
Kör lokalt
Steg 1: Dra tensorflöde
Docker pull tensorflow/serving:senast-gpu
Steg 2: Kör bilden
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: Senaste-gpu
eller utan GPU
Docker run -p 8501:8501 --name tfserving_classifier --mount type=bind,source=c:\ production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving: Senaste-gpu
Kör på Azure med ACI
Steg 1: Ändra den lokala bilden så att modellen inkluderas
Docker run -d --name serving_base tensorflow/serving: Senaste-gpu Docker cp c:\production\ serving_base:/models/img_classifier Docker ps -aа # för att få id Docker commit --change ”ENV MODEL_NAME img_classifier” &id går här> tensorflow_dogs_gpu Docker kill serve_base
Steg 2: Distribuera bild till Azure ACI
Docker inloggning azure Docker-kontext skapa aci-borttagning Docker-kontextanvändning Deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Gå till ACI-loggarna, IP-adressen och stoppa och ta bort ACI-tjänsten ====
Docker loggar jolly-ride Docker ps Docker stopp jolly-ride Docker rm jolly-ride
Erkännanden
Keith Quille (TU Dublin, Tallaght Campus)
Masterprogrammet Human-Centered AI har samfinansierats av Fonden för ett sammanlänkat Europa i Europeiska unionen inom ramen för Grant CEF-TC-2020–1 Digital Skills 2020 EU-IA-0068.