- Kísérletazonosító vagy név
- Futtatási azonosító
- Paraméterek és értékek
- Mérések és értékek
- Címkék
- A futtatáshoz társított egyéb attribútumok
A futások állapota, kezdési ideje, befejezési ideje és időtartama szerint szűrhetők az MLflow kereső API használatával. Ez megkönnyíti a szűrést a sok futtatás között, és megtalálja a felhasználókat érdeklő konkrét futtatásokat.
MLflow keresési funkció
Használja az mlflow.search_runs() függvényt az MLflow keresési API eléréséhez. Ez a függvény számos argumentumot fogad el, például a következőket:
- A kísérlet azonosítója vagy neve
- Szűrőkarakterlánc vagy szöveg
- A visszaadandó futások maximális számát a max_results argumentum határozza meg
Az SQL (Structured Query Language) WHERE záradék egyszerűsített változata a szűrő karakterlánc vagy szöveg. Segítségével jelezhetjük, hogy milyen szempontok szerint szeretnénk rendezni a futásokat.
Az MLflow Search_Runs() függvény szintaxisa
A következő példában a keresni kívánt kísérlet tényleges azonosítóját vagy nevét be kell cserélni a „kísérlet_azonosítója” vagy a kísérlet_neve helyére. A search_criteria változó lehetővé teszi a keresési feltételek tetszőleges bevitelét. Ezeket a feltételeket metrikák, címkék, paraméterek vagy további jellemzők határozhatják meg. A search_runs() függvény alapvető szintaxisa a következő:
# Importálja az mlflow keresési API-t a search_runs függvény használatához
import mlflow
# Adja meg a kísérlet azonosítóját vagy nevét (nem kötelező; )
exp_id = „Kísérletazonosító vagy NAME”
# Határozza meg a futtatások keresési feltételeit
keresési_karakterlánc = 'metrics.accuracy > 0,8 AND params.learning_rate = '0,01' ÉS params.efficiency_rate > '80''
# Hajtsa végre a keresést
fut = mlflow. search_runs ( kísérlet_azonosítói = exp_id , filter_string = keresési_karakterlánc )
# Jelenítse meg az eredményeket
nyomtatás ( 'Keresési eredmények:' )
nyomtatás ( fut )
Futtasson keresést számos feltétel használatával
1. Keresés metrikaérték alapján
A futtatások adott metrikák értékei alapján szűrhetők az MLflow keresési API metrika mezőjének használatával. A metrikák mezőben vesszővel elválasztott metrikanevek gyűjteménye jelenik meg. Például a következő szűrőkarakterlánc minden 0,9-nél nagyobb pontosságú futást megkeres:
mérőszámok. pontosság > 0.9
A metrikák mezőben használható mérőszámok teljes listája a következő:
- pontosság
- auc
- f1
- pontosság
- visszahívás
- térkép
- logloss
- osztályozási_hiba
- multi_class_logloss
Ezenkívül a felhasználók szűrhetik a futtatásokat egy metrika értéktartománya alapján a metrika mező használatával. Például a következő szűrőkarakterlánc megkeresi az összes olyan futtatást, amelynek pontossági mértéke 0,4 és 0,8 közötti értékkel rendelkezik:
mérőszámok. pontosság KÖZÖTT 0.4 ÉS 0.8
A mérőszámok mezőben az ÉS és VAGY operátorok kombinálják a mérőszámokat, hogy megtalálják a 0,3 és 0,8 feletti f1 értékekkel rendelkező mérőszámok pontosságát:
mérőszámok. pontosság > 0.3 ÉS mérőszámok. f1 > 0.82. Keresés paraméterérték alapján
Használja az MLflow keresési API paramétermezőjét a paraméterérték alapján történő kereséshez. A paraméterek nevei és értékei vesszővel jelennek meg a paramétermezőben. Ebben a példában a fent említett szűrőkarakterlánc megkeresi a 100 értékű num_boost_round paraméterrel rendelkező összes futtatást:
params. num_boost_round = '100'Néhány további példa a paraméterértékek keresési karakterláncaira:
- params.num_boost_round = 900
- params.learning_rate 0,001 ÉS 0,01 KÖZÖTT
- params.num_boost_round=’70’ ÉS params.learning_rate=’0,01′
3. Keresés címkék szerint
Íme egy példa a címkéket használó keresésre:
keresési feltétel = 'tags.mlflow.source.type = 'szótár''Példa az Mlflow.search_runs() függvény végrehajtásához szükséges mátrix- és paraméterértékekre
Nézzünk meg egy példát egy MLflow-kísérlet beállítására, naplózásra, majd az mlflow.search_runs() használatára a keresés elindítására. A kód teljes megértéséhez kövesse az alábbi lépéseket:
1. lépés: Hozzon létre egy MLflow-kísérletet
Kezdjük egy MLflow kísérlet beállításával. Lekéri a meglévő kísérletet, ha a kísérlet már létezik. Ha nem, akkor újat hoz létre.
Kód magyarázata:
A program a kód első sorába importálja az MLflow-könyvtárat, a következő sorban pedig a kísérlet_neve értéke „My First MLflow Experiment”. Amikor a kísérlet_neve átadásra kerül az „mlflow.get_experiment_by_name” függvénynek, ez a függvény „Nincs” értéket ad vissza, ha a kísérlet nem létezik, egyébként pedig a kísérlet objektuma.
Ellenőrizze a kísérlet meglétét a feltételes utasításban. Ha a kísérlet már létezik, állítsa be a kísérlet_azonosítóját. Ellenkező esetben használja az „mlflow.create_experiment” parancsot egy új kísérlet létrehozásához. Ez a függvény a kísérlet azonosítóját adja vissza. A kísérlet végén jelenítse meg a kísérlet azonosítóját a konzol vagy a terminál képernyőjén. Másolja a következő kódot a jegyzettömbbe, és mentse el a fájlt a kívánt néven és „.py” kiterjesztéssel:
# import mlflow Libraryimport mlflow
# Hozza létre vagy töltse le a kísérletet
exp_name = 'Az első MLflow kísérletem'
# Töltse le a kísérletet név szerint a get_experiment_by_name mlflow függvény segítségével
exp = mlflow. get_experiment_by_name ( exp_name )
# Ellenőrizze, hogy a kísérlet nem létezik-e még
ha exp van Egyik sem :
# Hozzon létre új kísérletet, és adja át a kísérlet nevét az mlflow.create_experiment függvénynek
exp_id = mlflow. létrehozás_kísérlet ( exp_name )
# Jelenítse meg a sikeres üzenetet a képernyőn
nyomtatás ( 'Kísérlet nem létezik. A kísérlet sikeresen létrehozva!' )
más :
# A meglévő kísérlet kísérleti_azonosítójának lekérése
exp_id = exp. kísérlet_azonosítója
nyomtatás ( 'Már létezik kísérlet!' )
# Kísérletazonosító megjelenítése
nyomtatás ( 'Kísérlet azonosítója:' , exp_id )
Most indítsa el a programot a parancssorban vagy a terminálablakban a Python fordító segítségével, és írja be a „Python” kifejezést, majd a fájlnevet, amely ebben az esetben „MyFirstMlflowExperiment.py”. A kísérlet első futtatásakor még nem létezik. Így az MLFlow létrehoz egyet, és kinyomtatja a kísérlet azonosítóját a konzol képernyőjén:
Futtassa újra a kódot annak ellenőrzésére, hogy nem hoz létre új kísérleteket, és jelenítse meg a már létezők azonosítóját. A következő képernyőképen látható, hogy a kísérlet már létezik:
2. lépés: A futtatások naplózása metrikákkal és paraméterekkel
Most próbáljunk meg naplózni néhány futtatást az imént létrehozott kísérlet mérőszámaival és paramétereivel. Valós forgatókönyv esetén fejlesztjük a gépi tanulási modelleket, és minden egyes futtatás végén rögzítjük a releváns információkat, például a mérőszámokat és a paramétereket. Itt a pontosságot használjuk mátrixértékként, és ez ebben az esetben 0,95. A tanulási és hatékonysági arány paraméterértékei 0,01, illetve 90. Íme a kód:
# Indítson el egy MLflow futtatást a metrikák és paraméterek naplózásáhozval vel mlflow. start_run ( kísérlet_azonosítója = exp_id ) :
# Az Ön gépi tanulási kódja itt (ez csak egy szimulált példa)
modell_pontosság = 0,95
gépi_tanulási_ráta = 0,01
hatékonysági_ráta = 90
# A mérőszámok és paraméterek naplózása
mlflow. log_metric ( 'pontosság' , modell_pontosság )
mlflow. log_param ( 'learning_rate' , gépi_tanulási_ráta )
mlflow. log_param ( 'efficiency_rate' , hatékonysági_ráta )
Az eredmény, amikor a fent említett kód végrehajtásra kerül, itt látható. Az eredmény ugyanaz, mint korábban:
3. lépés: Végezzen keresést az Mlflow.search_runs() használatával
Végül keresést futtatunk azokon a futtatásokon, amelyeket néhány paraméter segítségével naplóztunk, és az eredményeket megjelenítjük a terminál képernyőjén:
# Határozza meg a futtatások keresési feltételeitdefine_search_criteria = 'metrics.accuracy > 0,8 ÉS params.learning_rate = '0,01' ÉS params.efficiency_rate = '90''
# Hajtsa végre a keresést
fut = mlflow. search_runs ( kísérlet_azonosítói = exp_id , filter_string = define_search_criteria )
# Jelenítse meg az eredményeket
nyomtatás ( 'Keresési eredmények:' )
nyomtatás ( fut )
A Git eszközre vonatkozó figyelmeztetést a search_runs függvény végrehajtása állítja elő:
A figyelmeztetés letiltásához adjon hozzá kódot a Python-fájl tetejéhez. Íme a kód rövid része:
import te
te . hozzávetőlegesen, körülbelül [ 'GIT_PYTHON_REFRESH' ] = 'csendes'
Az „mlflow.search_runs” függvény sikeresen végrehajtódik, miután hozzáadta a következő kódsorokat:
Következtetés
Az „mlflow.search_runs” funkció lehetővé teszi a felhasználók számára, hogy gyorsan felfedezzék és kiértékeljék a gépi tanulási kísérleteket, számos futtatást elemezzenek, és meghatározzák az optimális hiperparaméter-variációkat vagy modelleket, amelyek a kívánt eredményeket eredményezik. Ez egy hatékony eszköz a gépi tanulási munkafolyamat felügyeletéhez, tervezéséhez és elemzéséhez.