Sisällysluettelo:

Osa 2. ThinkBioT -malli ja Google AutoML: 8 vaihetta
Osa 2. ThinkBioT -malli ja Google AutoML: 8 vaihetta

Video: Osa 2. ThinkBioT -malli ja Google AutoML: 8 vaihetta

Video: Osa 2. ThinkBioT -malli ja Google AutoML: 8 vaihetta
Video: 😩 Сплошное разочарование или повод для радости? Подробный гид по Audi A6 C6. 2024, Marraskuu
Anonim
Osa 2. ThinkBioT -malli ja Google AutoML
Osa 2. ThinkBioT -malli ja Google AutoML

ThinkBioT on suunniteltu "Plug and Play" -versioksi, jossa on Edge TPU -yhteensopivat TensorFlow Lite -mallit.

Tässä dokumentaatiossa käsitellään spektrogrammien luomista, tietojen muotoilua ja Google AutoML: n käyttöä.

Tämän opetusohjelman koodi kirjoitetaan bash-muodossa, joten se on yhteensopiva useiden alustojen kanssa.

Riippuvuudet

  • Ennen aloittamista sinun on kuitenkin asennettava Sox komentorivin ääniohjelma, joka on yhteensopiva Windows-, Mac- ja Linux -laitteiden kanssa.
  • Jos käytät Windows -laitetta, helpoin tapa suorittaa bash -skriptejä on Gitin kautta, joten suosittelen lataamaan ja asentamaan sen hyödylliseksi monin tavoin,
  • Muokkaa koodia joko suosikkieditorillasi tai asenna NotePad ++ Windowsille tai Atom muille käyttöjärjestelmille.

** Jos sinulla on olemassa oleva TensorFlow -malli tai haluat kokeilla siirron oppimista olemassa olevan mallin kanssa, tutustu Googlen korallidokumentaatioon.

Vaihe 1: Määritä Google Cloud Storage Bucket

Määritä Google Cloud Storage Bucket
Määritä Google Cloud Storage Bucket

1. Kirjaudu Gmail -tiliisi (tai luo sellainen, jos sinulla ei ole Google -tiliä)

2. Siirry projektin valitsinsivulle ja luo uusi projekti malli- ja spektrogrammitiedostoillesi. Sinun on otettava laskutus käyttöön edetäksesi.

3. Siirry osoitteeseen https://cloud.google.com/storage/ ja paina sivun yläreunassa olevaa luo ämpäri -painiketta.

4. Anna haluamasi kauhan nimi ja luo ryhmä, joka hyväksyy oletusasetukset.

Vaihe 2: Muotoile tietosi ja luo tietojoukko Csv

Alusta tietosi ja luo tietojoukko Csv
Alusta tietosi ja luo tietojoukko Csv
Alusta tietosi ja luo tietojoukko Csv
Alusta tietosi ja luo tietojoukko Csv
Alusta tietosi ja luo tietojoukko Csv
Alusta tietosi ja luo tietojoukko Csv

Olen suunnitellut hyödyllisen komentosarjan mallisi luomiseen tarvittavan dataset.csv -tiedoston luomiseksi. Tietojoukkotiedosto linkittää ämpäriisi kuuluvat kuvat tietojoukon tunnisteisiin.

1. Lataa ThinkBioT -arkisto GitHubista ja

2. Kopioi tbt_spect_example.sh -tiedosto Työkalut -hakemistosta työpöydän uuteen kansioon.

3. Lisää äänitiedostot, joita haluat käyttää mallissasi, ja aseta ne kansioihin, joissa on niiden etiketti (eli mihin haluat lajitella ne. Jos esimerkiksi haluat tunnistaa koirat tai kissat, sinulla voi olla kansio koira, kuori kuulostaa TAI kansio nimeltä kissa kissan ääniä jne.

4. Avaa tbt_spect_example.sh Notepad ++: lla ja korvaa "yourbucknamename" rivillä 54 Google -tallennustilasi nimellä. Jos esimerkiksi ämpäriäsi kutsuttiin myModelBucketiksi, rivi vaihtuisi muotoon

ämpäri = "gs: // myModelBucket/spectro-data/"

5. Suorita koodi kirjoittamalla seuraava Bash-päätelaitteeseesi, koodi suoritetaan ja luo tarrat csv-tiedoston ja hakemiston nimeltä spektro-data työpöydällesi tuloksena olevilla spektrogrammeilla.

sh tbt_spect_example.sh

Vaihe 3: Lataa spektrogrammit ämpäriisi

Lataa spektrogrammit ämpäriisi
Lataa spektrogrammit ämpäriisi
Lataa spektrogrammit ämpäriisi
Lataa spektrogrammit ämpäriisi
Lataa spektrogrammit ämpäriisi
Lataa spektrogrammit ämpäriisi

On olemassa muutamia tapoja ladata Google -tallennustilaan, helpoin on ladata kansio suoraan;

1. Napsauta ryhmän nimeä Google -tallennussivullasi.

2. Valitse "UPLOAD FOLDER" -painike ja valitse "spektro-data/" -hakemisto, joka on luotu viimeisessä vaiheessa.

TAI

2. Jos sinulla on suuri määrä tiedostoja, voit luoda "spektro-data/" -hakemiston manuaalisesti valitsemalla "LUO KANSI", navigoi kansioon ja valitse "LATAA TIEDOSTOJA". Tämä voi olla loistava vaihtoehto suurille tietojoukoille, koska voit ladata spektrogrammeja osioina jopa käyttämällä useita tietokoneita latausnopeuden lisäämiseksi.

TAI

2. Jos olet kokenut käyttäjä, voit ladata sen myös Google Cloud Shellin kautta.

gsutil cp spectro-data/* gs: // sinun ämpäri-nimi/spektro-data/

Sinulla pitäisi nyt olla ämpäri täynnä kauniita spektrogrammeja!

Vaihe 4: Lataa tietojoukko Csv

Lataa tietojoukko Csv
Lataa tietojoukko Csv

Nyt meidän on ladattava model-labels.csv-tiedosto Google-tallennustilan "spectro-data/" -hakemistoosi, joka on olennaisesti sama kuin viimeinen vaihe, lataat vain yhden tiedoston monen sijaan.

1. Napsauta ryhmän nimeä Google -tallennussivullasi.

2. Valitse "LATAA TIEDOSTO" -painike ja valitse aiemmin luomasi malli-labels.csv-tiedosto.

Vaihe 5: Luo tietojoukko

Luo tietojoukko
Luo tietojoukko
Luo tietojoukko
Luo tietojoukko
Luo tietojoukko
Luo tietojoukko

1. Ensinnäkin sinun on löydettävä AutoML VIsion -sovellusliittymä, se voi olla hieman hankalaa! Helpoin tapa on etsiä "automl vision" Google Cloud -tallennustilan hakupalkista (kuvassa).

2. Kun olet napsauttanut sovellusliittymän linkkiä, sinun on otettava sovellusliittymä käyttöön.

3. Nyt olet AutoML Vision -hallintapaneelissa (kuvassa) napsauta uuden tietojoukon painiketta ja valitse Yksittäinen tarra ja Valitse CSV -tiedosto. Sisällytä sitten linkki malli-labels.csv-tiedostoosi tallennustilaasi. Jos olet noudattanut tätä opetusohjelmaa, se tapahtuu alla olevan mukaisesti

gs: //yourBucketName/spectro-data/model-labelsBal.csv

4. Luo sitten tietojoukko painamalla Jatka -painiketta. Luominen voi kestää jonkin aikaa.

Vaihe 6: Luo AutoML -malli

Image
Image
Luo AutoML -malli
Luo AutoML -malli
Luo AutoML -malli
Luo AutoML -malli

Kun olet saanut sähköpostisi, jossa kerrotaan, että tietojoukko on luotu, olet valmis luomaan uuden mallisi.

  1. Paina TRAIN -painiketta
  2. Valitse mallityyppi: Reunan ja mallin latenssiarviot: Edge TPU ja jätä muut vaihtoehdot aluksi oletusarvoisiksi, vaikeita, joita haluat ehkä kokeilla myöhemmin.
  3. Nyt mallisi kouluttaa, kestää jonkin aikaa ja saat sähköpostiviestin, kun se on ladattavissa.

Huomautus: Jos juna -painike ei ole käytettävissä, sinulla voi olla ongelmia tietojoukossasi. Jos sinulla on alle 10 kutakin luokkaa (etiketti), järjestelmä ei anna sinun kouluttaa mallia, joten sinun on ehkä lisättävä ylimääräisiä kuvia. Kannattaa katsoa Google AutoML Video, jos tarvitset selvennystä.

Vaihe 7: Testaa malli

Testaa mallisi
Testaa mallisi
Testaa mallisi
Testaa mallisi
Testaa mallisi
Testaa mallisi
Testaa mallisi
Testaa mallisi

Kun olet saanut mallin valmistumisviestin, palaa AutoML Vision -sovellusliittymään napsauttamalla linkkiä.

1. Nyt voit tarkastella tuloksiasi ja mallisi sekaannusmatriisia.

2. Seuraava askel on testata mallisi, siirtyä kohtaan "TEST & USE" tai "PREDICT", mutta kummallakin näyttää olevan kaksi käyttäjän graafista käyttöliittymää, jotka molemmat olen kuvannut, mutta vaihtoehdoilla on samat toiminnot.

3. Nyt voit ladata testispektrogrammin. Voit luoda yhden spektrogrammin käyttämällä ThinkBioT Github -ohjelman tbt_make_one_spect.sh -ohjelmaa. Pudota se kansioon, jossa on wav, jonka haluat muuntaa spektrogrammiksi, avaa Git Bash -ikkuna (tai päätelaite) ja käytä alla olevaa koodia korvaamalla tiedostonimesi.

sh tbt_make_one_spect.sh sinun WavName.wav

4. Lataa nyt vain spektrogrammi ja tarkista tulos!

Vaihe 8: Asenna malli ThinkBioT -tietokoneeseen

Asenna malli ThinkBioT -laitteeseen
Asenna malli ThinkBioT -laitteeseen
Asenna malli ThinkBioT -laitteeseen
Asenna malli ThinkBioT -laitteeseen

Jos haluat käyttää uutta kiiltävää malliasi, pudota malli ja txt -tiedosto CModel -kansioon;

pi> ThinkBioT> ClassProcess> CModel

Nyt olet valmis käyttämään ThinkBioT: tä:)

** HUOM ** Jos käytät malliasi ThinkBioT-kehyksen ulkopuolella, sinun on muokattava tarra-asiakirjaa lisäämällä hätämerkkejä jokaisen rivin alkuun, koska uusimmat tflite-tulkit sisäänrakennettu "readlabels" -toiminto olettaa niiden olevan olemassa. Olen kirjoittanut mukautetun funktion ThinkBioT -kehykseen classify_spect.py teokseksi, jota voit käyttää omassa koodissasi:)

def ReadLabelFile (tiedoston_polku):

laskuri = 0 avoimella (tiedoston_polku, 'r', koodaus = 'utf-8') muodossa f: lines = f.readlines () ret = {} riville: ret [int (counter)] = line.strip () laskuri = laskuri + 1 paluu ret

Suositeltava: