Idag behöver datavetare som utbildar modeller för djupinlärning identifiera och åtgärda modellutbildningsproblem för att uppfylla noggrannhetsmålen för produktionsinstallation, och kräver ett sätt att använda standardverktyg för att felsöka modellträning. Bland dataforskare är TensorBoard en populär verktygslåda som låter datavetare visualisera och analysera olika aspekter av deras maskininlärningsmodeller (ML) och utbildningsprocesser. Den tillhandahåller en uppsättning verktyg för att visualisera träningsmått, undersöka modellarkitekturer, utforska inbäddningar och mer. TensorFlow- och PyTorch-projekt både stöder och använder TensorBoard i sin officiella dokumentation och exempel.
Amazon SageMaker med TensorBoard är en funktion som tar med TensorBoards visualiseringsverktyg till SageMaker. Integrerat med SageMaker utbildningsjobb och domäner, ger det SageMaker-domänanvändare tillgång till TensorBoard-data och hjälper domänanvändare att utföra modellfelsökningsuppgifter med SageMaker TensorBoard visualiseringsplugin. När de skapar ett SageMaker-utbildningsjobb kan domänanvändare använda TensorBoard med SageMaker Python SDK eller Boto3 API. SageMaker med TensorBoard stöds av SageMaker Data Manager-plugin, med vilken domänanvändare kan komma åt många utbildningsjobb på ett ställe i TensorBoard-applikationen.
I det här inlägget visar vi hur man ställer in ett träningsjobb med TensorBoard i SageMaker med SageMaker Python SDK, får åtkomst till SageMaker TensorBoard, utforskar träningsdata visualiserad i TensorBoard och tar bort oanvända TensorBoard-applikationer.
Lösningsöversikt
Ett typiskt träningsjobb för djupinlärning i SageMaker består av två huvudsteg: att förbereda ett träningsmanus och konfigurera en SageMaker utbildningsjobbstartare. I det här inlägget går vi igenom de ändringar som krävs för att samla in TensorBoard-kompatibla data från SageMaker-utbildning.
Förutsättningar
För att börja använda SageMaker med TensorBoard måste du konfigurera en SageMaker-domän med en Amazon VPC under ett AWS-konto. Domänanvändarprofiler för varje enskild användare krävs för att komma åt TensorBoard på SageMaker, och AWS identitets- och åtkomsthantering (IAM) exekveringsroll behöver en minsta uppsättning behörigheter, inklusive följande:
sagemaker:CreateApp
sagemaker:DeleteApp
sagemaker:DescribeTrainingJob
sagemaker:Search
s3:GetObject
s3:ListBucket
För mer information om hur du konfigurerar SageMaker Domain och användarprofiler, se Ombord på Amazon SageMaker Domain med snabbinställning och Lägg till och ta bort användarprofiler.
Katalogstruktur struktur~~POS=HEADCOMP
När man använder Amazon SageMaker Studio, kan katalogstrukturen organiseras enligt följande:
Här, script/train.py
är ditt träningsmanus, och simple_tensorboard.ipynb
lanserar utbildningsjobbet SageMaker.
Ändra ditt träningsskript
Du kan använda något av följande verktyg för att samla in tensorer och skalärer: TensorBoardX, TensorFlow Summary Writer, PyTorch Summary Writer, eller Amazon SageMaker Debugger, och ange datautgångssökvägen som loggkatalogen i träningsbehållaren (log_dir
). I den här exempelkoden använder vi TensorFlow för att träna ett enkelt, fullt anslutet neuralt nätverk för en klassificeringsuppgift. För andra alternativ, se Förbered ett träningsjobb med en TensorBoard-utdatakonfiguration. I train()
funktionen använder vi tensorflow.keras.callbacks
.TensorBoard-verktyg för att samla in tensorer och skalärer, specificera /opt/ml/output/tensorboard
som loggkatalogen i träningsbehållaren och skicka den till argumentet för modellträningsåteruppringningar. Se följande kod:
Konstruera en SageMaker-utbildningsstartare med en TensorBoard-datakonfiguration
Använd sagemaker.debugger.TensorBoardOutputConfig när du konfigurerar en SageMaker-ramverkskalkylator, som kartlägger Amazon enkel lagringstjänst (Amazon S3) hink som du anger för att spara TensorBoard-data med den lokala sökvägen i träningsbehållaren (till exempel, /opt/ml/output/tensorboard
). Du kan använda en annan lokal utmatningsväg för behållare. Det måste dock överensstämma med värdet av LOG_DIR
variabel, som specificerats i föregående steg, för att låta SageMaker framgångsrikt söka den lokala sökvägen i träningsbehållaren och spara TensorBoard-data till S3-utmatningshinken.
Skicka sedan objektet för modulen till tensorboard_output_config
parametern för estimatorklassen. Följande kodavsnitt visar ett exempel på att förbereda en TensorFlow-estimator med TensorBoard-utgångskonfigurationsparametern.
Följande är boilerplate-koden:
Följande kod är för utbildningsbehållaren:
Följande kod är TensorBoard-konfigurationen:
Starta träningsjobbet med följande kod:
Gå till TensorBoard på SageMaker
Du kan komma åt TensorBoard med två metoder: programmatiskt med hjälp av sagemaker.interactive_apps.tensorboard
modul som genererar URL:en eller använder TensorBoard-målsidan på SageMaker-konsolen. Efter att du har öppnat TensorBoard, kör SageMaker TensorBoard-pluginet och hittar och laddar automatiskt alla träningsjobbutdata i ett TensorBoard-kompatibelt filformat från S3-hinkar parade med träningsjobb under eller efter träning.
Följande kod genererar automatiskt webbadressen till TensorBoard-konsolens målsida:
Detta returnerar följande meddelande med en URL som öppnar TensorBoards målsida.
För att öppna TensorBoard från SageMaker-konsolen, se Hur man kommer åt TensorBoard på SageMaker.
När du öppnar TensorBoard-applikationen öppnas TensorBoard med SageMaker Data Manager flik. Följande skärmdump visar hela bilden av SageMaker Data Manager fliken i TensorBoard-applikationen.
På SageMaker Data Manager fliken kan du välja vilket träningsjobb som helst och ladda TensorBoard-kompatibla träningsdata från Amazon S3.
- I Lägg till utbildningsjobb avsnitt, använd kryssrutorna för att välja utbildningsjobb från vilka du vill hämta data och visualisera för felsökning.
- Välja Lägg till valda jobb.
De valda jobben ska visas i Spårade träningsjobb sektion.
Uppdatera visningsprogrammet genom att välja uppdateringsikonen i det övre högra hörnet, och visualiseringsflikarna bör visas efter att jobbdata har laddats.
Utforska träningsdata visualiserad i TensorBoard
På Tidsföljder flikar och andra grafikbaserade flikar kan du se listan över Spårade träningsjobb i den vänstra rutan. Du kan också använda kryssrutorna för utbildningsjobben för att visa eller dölja visualiseringar. TensorBoards dynamiska plugins aktiveras dynamiskt beroende på hur du har ställt in ditt träningsskript för att inkludera sammanfattningsskrivare och skicka återuppringningar för tensor- och skalärinsamling, och grafikflikarna visas också dynamiskt. Följande skärmdumpar visar exempelvyer av varje flik med visualiseringar av den insamlade statistiken för två utbildningsjobb. Mätvärdena inkluderar plugins för tidsserier, skalärer, grafer, distribution och histogram.
Följande skärmdump är Tidsföljder flikvy.
Följande skärmdump är Skalärer flikvy.
Följande skärmdump är Grafer flikvy.
Följande skärmdump är distributioner flikvy.
Följande skärmdump är histogram flikvy.
Städa upp
När du är klar med att övervaka och experimentera med jobb i TensorBoard, stäng av TensorBoard-applikationen:
- Välj på SageMaker-konsolen domäner i navigeringsfönstret.
- Välj din domän.
- Välj din användarprofil.
- Enligt apparväljer Radera app för TensorBoard-raden.
- Välja Ja, radera app.
- Skriv radera i textrutan och välj sedan Radera.
Ett meddelande bör visas högst upp på sidan: "Standard tas bort".
Slutsats
TensorBoard är ett kraftfullt verktyg för att visualisera, analysera och felsöka modeller för djupinlärning. I det här inlägget ger vi en guide till hur du använder SageMaker med TensorBoard, inklusive hur du ställer in TensorBoard i ett SageMaker-utbildningsjobb med SageMaker Python SDK, kommer åt SageMaker TensorBoard, utforskar träningsdata som visualiseras i TensorBoard och tar bort oanvända TensorBoard-applikationer. Genom att följa dessa steg kan du börja använda TensorBoard i SageMaker för ditt arbete.
Vi uppmuntrar dig att experimentera med olika funktioner och tekniker.
Om författarna
Dr Baichuan Sun är Senior Data Scientist på AWS AI/ML. Han brinner för att lösa strategiska affärsproblem med kunder med hjälp av datadriven metodik på molnet, och han har lett projekt inom utmanande områden inklusive datorseende robotik, tidsserieprognoser, prisoptimering, prediktivt underhåll, läkemedelsutveckling, produktrekommendationssystem, etc. På fritiden tycker han om att resa och umgås med familjen.
Manoj Ravi är senior produktchef för Amazon SageMaker. Han brinner för att bygga nästa generations AI-produkter och arbetar med mjukvara och verktyg för att göra storskalig maskininlärning enklare för kunderna. Han har en MBA från Haas School of Business och en magisterexamen i Information Systems Management från Carnegie Mellon University. På fritiden tycker Manoj om att spela tennis och ägna sig åt landskapsfotografering.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoAiStream. Web3 Data Intelligence. Kunskap förstärkt. Tillgång här.
- Minting the Future med Adryenn Ashley. Tillgång här.
- Köp och sälj aktier i PRE-IPO-företag med PREIPO®. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-with-tensorboard-overview-of-a-hosted-tensorboard-experience/
- : har
- :är
- $UPP
- 1
- 10
- 100
- 11
- 15%
- 26%
- 28
- 7
- 8
- 9
- a
- Om oss
- tillgång
- Konto
- noggrannhet
- Adam
- Efter
- AI
- AI / ML
- Alla
- tillåter
- också
- amason
- Amazon SageMaker
- bland
- an
- analysera
- analys
- och
- vilken som helst
- api
- app
- visas
- Ansökan
- tillämpningar
- ÄR
- områden
- Argumentet
- AS
- aspekter
- At
- automatiskt
- AWS
- BE
- varit
- Där vi får lov att vara utan att konstant prestera,
- båda
- Box
- boxar
- Bringar
- Byggnad
- företag
- by
- KAN
- Carnegie Mellon
- utmanande
- Förändringar
- ta
- Välja
- välja
- klass
- cloud
- koda
- samla
- samling
- samfundet
- dator
- Datorsyn
- konfiguration
- anslutna
- konsekvent
- Konsol
- Behållare
- Corner
- skapa
- Kunder
- datum
- datavetare
- data driven
- datauppsättningar
- datum Tid
- djup
- djupt lärande
- demonstrera
- beroende
- utplacering
- Utveckling
- fördelning
- dokumentation
- domän
- domäner
- gjort
- ner
- under
- dynamisk
- dynamiskt
- varje
- lättare
- annars
- uppmuntra
- stödja
- epoker
- etc
- utvärderade
- Granskning
- exempel
- exempel
- utförande
- erfarenhet
- experimentera
- utforska
- Utforska
- familj
- Funktioner
- passa
- efter
- följer
- För
- format
- Ramverk
- från
- full
- fullständigt
- fungera
- genererar
- diagram
- grafik
- styra
- Har
- he
- hjälper
- Dölja
- hans
- innehar
- värd
- Hur ser din drömresa ut
- How To
- Men
- html
- http
- HTTPS
- IKON
- identifiera
- Identitet
- if
- importera
- in
- innefattar
- Inklusive
- individuellt
- informationen
- Informationssystem
- integrerade
- in
- problem
- IT
- Jobb
- Lediga jobb
- jpg
- json
- Keras
- landning
- liggande
- storskalig
- lanserar
- skikt
- ledande
- inlärning
- vänster
- Lista
- läsa in
- laster
- lokal
- log
- förlust
- Maskinen
- maskininlärning
- Huvudsida
- underhåll
- göra
- ledning
- chef
- många
- kartor
- Möt
- mellon
- meddelande
- Metodik
- metoder
- Metrics
- minsta
- ML
- modell
- modeller
- Modulerna
- övervakning
- mer
- måste
- Navigera
- Navigering
- Behöver
- behov
- nät
- neurala nätverk
- antal
- objektet
- of
- on
- ONE
- öppet
- öppning
- öppnas
- optimering
- Tillbehör
- or
- Organiserad
- OS
- Övriga
- ut
- produktion
- Översikt
- sida
- parade
- panelen
- parameter
- passera
- brinner
- bana
- Utföra
- behörigheter
- Läkemedelsindustrin
- fotografi
- Plats
- plato
- Platon Data Intelligence
- PlatonData
- i
- snälla du
- plugin
- insticksmoduler
- Populära
- Inlägg
- den mäktigaste
- förbereda
- föregående
- pris
- problem
- processer
- Produkt
- produktchef
- Produktion
- Produkter
- projekt
- ge
- ger
- Python
- pytorch
- Snabbt
- Rekommendation
- region
- ta bort
- kräver
- Obligatorisk
- avkastning
- återgår
- robotik
- Roll
- RAD
- sagemaker
- Save
- sparande
- Skola
- Forskare
- vetenskapsmän
- skärmdumpar
- sDK
- Sök
- se
- vald
- senior
- Serier
- session
- in
- inställning
- skall
- show
- Visar
- Enkelt
- Mjukvara
- Lösa
- standard
- starta
- Steg
- Steg
- förvaring
- lagra
- Strategisk
- strategisk verksamhet
- struktur
- studio
- Framgångsrikt
- svit
- SAMMANFATTNING
- Som stöds
- system
- System
- mål
- uppgift
- uppgifter
- tekniker
- tensorflow
- Testning
- den där
- Smakämnen
- deras
- sedan
- Dessa
- de
- detta
- Genom
- tid
- Tidsföljder
- till
- verktyg
- toolkit
- verktyg
- topp
- Tåg
- Utbildning
- Traveling
- två
- Typ
- typisk
- under
- universitet
- oanvänd
- URL
- användning
- Användare
- användare
- med hjälp av
- utnyttja
- värde
- olika
- utsikt
- visningar
- syn
- visualisering
- vill
- Sätt..
- we
- när
- som
- medan
- VEM
- med
- inom
- Arbete
- fungerar
- författare
- Om er
- Din
- zephyrnet