- Kokeilun tunnus tai nimi
- Suorita ID
- Parametrit ja arvot
- Mittarit ja arvot
- Tunnisteet
- Muut ajoihin liittyvät attribuutit
Ajot voidaan suodattaa tilan, aloitusajan, lopetusajan ja keston mukaan MLflow-hakusovellusliittymän avulla. Sen avulla on helpompi suodattaa useita ajoja ja löytää tiettyjä ajoja, joista käyttäjät ovat kiinnostuneita.
MLflow-hakutoiminto
Käytä mlflow.search_runs()-funktiota päästäksesi MLflow-hakusovellusliittymään. Tämä funktio hyväksyy useita argumentteja, kuten seuraavat:
- Kokeilun tunnus tai nimi
- Suodatinmerkkijono tai teksti
- Palautettavien ajojen enimmäismäärä määritetään argumentilla max_results
Yksinkertaistettu muunnelma SQL (Structured Query Language) WHERE-lauseesta on suodatinmerkkijono tai teksti. Sitä voidaan käyttää osoittamaan kriteerit, joiden mukaan ajot halutaan lajitella.
MLflow Search_Runs() -funktion syntaksi
Kokeilun todellinen tunnus tai nimi, josta haluamme hakea, on korvattava 'kokeilutunnus tai kokeilun_nimi' seuraavassa esimerkissä. Search_criteria-muuttuja mahdollistaa hakuehtojen syöttämisen haluamallasi tavalla. Nämä kriteerit voidaan määrittää mittareilla, tunnisteilla, parametreilla tai lisäominaisuuksilla. Search_runs()-funktion perussyntaksi on seuraava:
# Tuo mlflow-hakusovellusliittymä käyttääksesi search_runs-funktiota
tuonti mlflow
# Anna jokin kokeilun tunnus tai nimi (se on valinnainen; )
exp_id = 'Kokeilutunnus tai NIMI'
# Määritä ajojen hakukriteerit
hakumerkkijono = 'metrics.accuracy > 0,8 AND params.learning_rate = '0,01' JA params.efficiency_rate > '80''
# Suorita haku
juoksee = mlflow. search_runs ( kokeilun_tunnukset = exp_id , suodatinmerkkijono = hakumerkkijono )
# Näytä tulokset
Tulosta ( 'Hakutulokset:' )
Tulosta ( juoksee )
Suorita haku useilla kriteereillä
1. Hae mittarin arvon mukaan
Ajot voidaan suodattaa tiettyjen mittareiden arvojen mukaan käyttämällä MLflow-hakusovellusliittymän mittakenttää. Mittarikentässä näkyy kokoelma pilkuilla erotettuja tietonimiä. Esimerkiksi seuraava suodatinmerkkijono paikantaa kaikki ajot, joiden tarkkuusarvo on suurempi kuin 0,9:
mittareita. tarkkuus > 0.9
Täydellinen luettelo mittarikentässä käytettävissä olevista mittareista on seuraava:
- tarkkuus
- auc
- f1
- tarkkuutta
- palauttaa mieleen
- kartta
- logloss
- luokitus_virhe
- multi_class_logloss
Lisäksi käyttäjät voivat suodattaa suorituksia mittarin arvoalueen mukaan käyttämällä mittarikenttää. Esimerkiksi seuraava suodatinmerkkijono paikantaa kaikki ajot, joiden tarkkuusmitta on välillä 0,4–0,8:
mittareita. tarkkuus VÄLILLÄ 0.4 JA 0.8
Mittarikentässä AND- ja OR-operaattorit yhdistävät mittarit löytääkseen ajot, joiden mittatarkkuus ja f1-arvot ovat yli 0,3 ja 0,8:
mittareita. tarkkuus > 0.3 JA mittarit. f1 > 0.82. Hae parametrin arvon mukaan
Käytä parametrikenttää MLflow-hakusovellusliittymässä suorittaaksesi haun parametriarvon perusteella. Parametrien nimet ja arvot luetellaan parametrikentässä pilkuilla. Tässä esimerkissä edellä mainittu suodatinmerkkijono paikantaa kaikki ajot parametrilla num_boost_round, joiden arvo on 100:
parametrit. num_boost_round = '100'Muita esimerkkejä parametriarvojen hakumerkkijonoista:
- params.num_boost_round = 900
- params.learning_rate 0,001 JA 0,01 VÄLILLÄ
- params.num_boost_round=’70’ JA params.learning_rate=’0.01′
3. Hae tunnisteiden mukaan
Tässä on esimerkki hausta, jossa käytetään tunnisteita:
hakukriteerit = 'tags.mlflow.source.type = 'sanakirja''Esimerkki matriisien ja parametrien arvoista Mlflow.search_runs()-funktion suorittamiseen
Käydään läpi esimerkki MLflow-kokeilun määrittämisestä, ajojen kirjaamisesta ja sitten mlflow.search_runs():n käyttämisestä haun aloittamiseen. Ymmärtääksesi koodin täydellisesti, noudata näitä ohjeita:
Vaihe 1: Luo MLflow-kokeilu
Aloitamme perustamalla MLflow-kokeen. Se hakee olemassa olevan kokeilun, jos kokeilu on jo olemassa. Jos ei, se luo uuden.
Koodin selitys:
MLflow-kirjasto tuodaan koodin ensimmäiselle riville, ja seuraavalla rivillä kokeen_nimi asetetaan 'My First MLflow Experiment'. Kun kokeilun_nimi välitetään funktiolle 'mlflow.get_experiment_by_name', tämä funktio palauttaa 'Ei mitään', jos kokeilua ei ole, ja muutoin kokeilun kohteen.
Tarkista kokeen olemassaolo ehdollisesta lauseesta. Jos kokeilu on jo olemassa, aseta kokeilun_tunnus. Muussa tapauksessa käytä 'mlflow.create_experiment' luodaksesi uuden kokeilun. Tämä funktio palauttaa kokeilun tunnuksen. Näytä kokeilun tunnus konsoli- tai päätenäytössä kokeen lopussa. Kopioi seuraava koodi muistilehtiöön ja tallenna tiedosto halutulla nimellä ja '.py'-tunnisteella:
# tuo mlflow-kirjastotuonti mlflow
# Luo tai nouda kokeilu
exp_name = 'Ensimmäinen MLflow-kokeiluni'
# Hae kokeilu nimellä käyttämällä mlflow-funktiota get_experiment_by_name
exp = mlflow. get_experiment_by_name ( exp_name )
# Tarkista, ettei kokeilua ole jo olemassa
jos exp On Ei mitään :
# Luo uusi kokeilu ja välitä kokeilun nimi mlflow.create_experiment-funktiolle
exp_id = mlflow. luo_koe ( exp_name )
# Näytä onnistumisviesti näytöllä
Tulosta ( 'Kokeilua ei ole olemassa. Kokeilu luotiin onnistuneesti!' )
muu :
# Hae olemassa olevan kokeilun experiment_id
exp_id = exp. kokeilun_tunnus
Tulosta ( 'Kokeilu on jo olemassa!' )
# Näytä kokeilun tunnus
Tulosta ( 'Kokeilutunnus:' , exp_id )
Käynnistä nyt ohjelma komentokehotteessa tai pääteikkunassa Python-kääntäjällä ja kirjoita 'Python' ja sitten tiedostonimi, joka tässä tapauksessa on 'MyFirstMlflowExperiment.py'. Kun kokeilua ajetaan ensimmäisen kerran, sitä ei ole vielä olemassa. Siten MLFlow luo sellaisen ja tulostaa kokeilun tunnuksen konsolin näytölle:
Suorita koodi uudelleen varmistaaksesi, ettei se luo uusia kokeiluja, ja näyttää jo olemassa olevien kokeilujen tunnukset. Seuraava kuvakaappaus näyttää, että kokeilu on jo olemassa:
Vaihe 2: Kirjaa ajot mittareilla ja parametreilla
Yritetään nyt kirjata joitakin ajoja juuri perustetun kokeilun mittareilla ja parametreilla. Todellisessa skenaariossa kehitämme koneoppimismalleja ja tallennamme tarvittavat tiedot, kuten mittarit ja parametrit, jokaisen ajon lopussa. Tässä matriisina arvona käytetään tarkkuutta, ja se on tässä tapauksessa 0,95. Oppimis- ja tehokkuusasteen parametriarvot ovat 0,01 ja 90. Tässä on koodi:
# Aloita MLflow-ajo mittareiden ja parametrien kirjaamiseksikanssa mlflow. start_run ( kokeilun_tunnus = exp_id ) :
# Koneoppimiskoodisi tässä (tämä on vain simuloitu esimerkki)
mallin_tarkkuus = 0,95
koneoppimisnopeus = 0,01
tehokkuus = 90
# Kirjaa mittarit ja parametrit
mlflow. log_metriikka ( 'tarkkuus' , mallin_tarkkuus )
mlflow. log_param ( 'oppimisnopeus' , koneoppimisnopeus )
mlflow. log_param ( 'tehokkuusaste' , tehokkuus )
Tulos, kun edellä mainittu koodi suoritetaan, näkyy tässä. Tulos on sama kuin ennen:
Vaihe 3: Suorita haku käyttämällä Mlflow.search_runs()
Lopuksi suoritamme haun ajoille, jotka on kirjattu muutamalla parametrilla ja näytämme tulokset päätenäytöllä:
# Määritä ajojen hakukriteeritdefine_search_criteria = 'metrics.accuracy > 0,8 AND params.learning_rate = '0,01' JA params.efficiency_rate = '90''
# Suorita haku
juoksee = mlflow. search_runs ( kokeilun_tunnukset = exp_id , suodatinmerkkijono = define_search_criteria )
# Näytä tulokset
Tulosta ( 'Hakutulokset:' )
Tulosta ( juoksee )
Git-työkalua koskevan varoituksen tuottaa search_runs-funktion suoritus:
Lisää koodi Python-tiedoston yläosaan tämän varoituksen poistamiseksi käytöstä. Tässä koodin lyhyt osa:
tuonti sinä
sinä . suunnilleen [ 'GIT_PYTHON_REFRESH' ] = 'hiljainen'
Funktio 'mlflow.search_runs' suoritetaan onnistuneesti, kun nämä koodirivit on lisätty:
Johtopäätös
'mlflow.search_runs'-toiminnon avulla käyttäjät voivat nopeasti tutkia ja arvioida koneoppimiskokeita, analysoida monia ajoja ja määrittää optimaaliset hyperparametrien muunnelmat tai mallit, jotka johtavat haluttuihin tuloksiin. Se on tehokas työkalu koneoppimisen työnkulun valvontaan, suunnitteluun ja analysointiin.