Zašto se pri prvom pokretanju preuzima model
Pri prvoj uporabi proširenje može preuzeti podatke modela potrebne za inferenciju na uređaju. To je kompromis lokalnog izreza: umjesto slanja svake fotografije na server, jednom donesete model na računalo.
To preuzimanje nije upload vaše fotografije — to su parametri modela, ne vaša galerija.
Zašto model nije uključen u svaki startup
Proširenje sadrži kod sučelja, ikone, upute i logiku obrade. Koristan segmentacijski model drugačija je vrsta imovine. Njegove težine mogu biti puno veće od koda potrebnog za otvaranje editora.
Dohvaćanje modela kada je potrebno ima praktične prednosti:
- paket proširenja ne mora učitati cijeli model pri svakom pokretanju;
- preglednik može spremiti model u predmemoriju za ponovnu upotrebu;
- obične kasnije sesije mogu započeti bez ponavljanja istog prijenosa;
- imovina modela može se zamijeniti kada se ažurira cjevovod za obradu.
Postoji cijena: prvi zaključak ne može započeti dok ne stignu tražene datoteke i dok ih vrijeme izvođenja ne inicijalizira. Na brzoj vezi ovo se može činiti kao kratak zaslon za postavljanje. Na sporoj ili ograničenoj vezi to može biti najdulji dio prve sesije.
Što je preuzeto
Preuzimanje sadrži podatke o modelu potrebne za zaključivanje. Zamislite to kao parametre za specijaliziranu numeričku funkciju, a ne kao biblioteku vaših fotografija i ne kao zahtjev za traženje subjekta na vašoj slici.
Nakon učitavanja, vrijeme izvođenja preglednika koristi te parametre za izračunavanje maske iz piksela koje ste odabrali. Svakodnevni put—dekodiranje slike, pokretanje segmentacije, pročišćavanje maske i izvoz—osmišljen je da se odvija u okruženju proširenja.
Ova je razlika važna pri čitanju mrežne aktivnosti. Zahtjev za sredstvom fiksnog modela nije ekvivalentan zahtjevu koji nosi trenutnu sliku. Mrežni pristup sam po sebi ne daje odgovor gdje se pojavljuje slika; put podataka čini.
Koje promjene predmemoriranja
Bez predmemoriranja, svako pokretanje uređivača moglo bi platiti istu cijenu preuzimanja. Preglednik može zadržati sredstvo modela tako da ga kasnija sesija može ponovno upotrijebiti. To mijenja uobičajeni slijed:
- Prva sesija provjerava je li traženi model dostupan.
- Ako nedostaje, preglednik će ga preuzeti.
- Runtime inicijalizira model i pokreće izrez.
- Kasnije obične sesije obično mogu učitati predmemoriranu kopiju.
“Obično” je namjerno. Predmemorija je višekratna pohrana, a ne trajno jamstvo. Brisanje podataka preglednika ili proširenja, promjena profila, korištenje drugog uređaja, pritisak na pohranu ili ažuriranje modela mogu ponovno učiniti datoteku nedostupnom.
Zašto se može pojaviti još jedno preuzimanje
Kasnije preuzimanje ne znači nužno da predmemorija nije uspjela. Uobičajena objašnjenja uključuju:
- proširenje sada očekuje noviju verziju modela;
- podaci o lokalnom proširenju su izbrisani;
- preglednik je izbacio podatke iz predmemorije kako bi povratio pohranu;
- rad se odvija u drugom profilu preglednika;
- ekstenzija je ponovno instalirana i njena pohrana je resetirana;
- prethodno preuzimanje nikada nije dovršeno.
Korisno dijagnostičko pitanje nije “Jesam li ovo ikada preuzeo?” ali “Je li trenutačno potreban model dostupan u ovom okruženju proširenja?”
Vrijeme preuzimanja nije vrijeme zaključivanja
Dva čekanja mogu izgledati slično dok predstavljaju različit posao.
Vrijeme preuzimanja je prijenos imovine modela. Uvelike ovisi o brzini veze, isporuci sredstava i stanju predmemorije.
Vrijeme pokretanja i zaključivanja događa se nakon što je sredstvo dostupno. Runtime priprema model, pretvara sliku u odgovarajući ulaz, izračunava masku i vraća rezultat. Ti koraci više ovise o uređaju, pregledniku, dimenzijama slike i dostupnoj memoriji.
Poruka o napretku tijekom prvog postavljanja može pokrivati više od jedne faze. Ako je model već spremljen u predmemoriju, ali je za veliku sliku još uvijek potrebno vrijeme, višekratno ponovno povezivanje s mrežom neće učiniti lokalno računanje trenutnim.
Što se događa ako veza padne
Ako traženi model nije spremljen u predmemoriju i preuzimanje ne može završiti, automatsko uklanjanje ne može započeti. Preglednik još nema potrebne numeričke težine. Ispravan odgovor je vratiti stabilnu vezu i pustiti da se postavljanje završi.
Nakon što se potrebni model spremi u predmemoriju, uobičajena obrada manje ovisi o vezi. “Offline-friendly” još uvijek je točnije od obećanja da svako stanje preglednika i svako prvo pokretanje radi bez mreže. Novi profil bez datoteke modela mora nekako dobiti tu datoteku.
Ako se postavljanje opetovano pokreće, provjerite brišu li se podaci proširenja između sesija, je li pohrana izuzetno ograničena ili blokira li mrežna politika zahtjev za sredstvom. Vodič Rješavanje problema pokriva općenite provjere grešaka.
Privatnost: isporuka sredstava u odnosu na obradu slika
Easy Background Remover je izgrađen tako da se izrezi izvode u pregledniku. Vaša odabrana slika dekodira se i obrađuje u uređivaču proširenja i alatu za obradu. Kratka lokalna povijest također može pohraniti nedavne originale i rezultirati pohranom preglednika.
Zahtjev modela za prvo pokretanje ne mijenja taj put slike. Dobiva višekratnu komponentu potrebnu za lokalno zaključivanje. Analitika web stranice, gdje je prisutna na stranicama proizvoda, također je odvojena od slikovnih piksela i povijesti uređivanja proširenja. Potpuni trenutačni tekst nalazi se na Privatnost.
Izbjegavajte jače zahtjeve od onih koje arhitektura podržava. “Chrome nikada ne koristi mrežu” bilo bi netočno. Precizan je “izrezani cjevovod dizajniran da obrada slike bude lokalna, dok prvo pokretanje može preuzeti model”.
Što preglednik radi nakon preuzimanja
Model se još uvijek treba inicijalizirati pomoću vremena izvođenja zaključaka preglednika. Odabrana slika se dekodira u piksele, priprema kao numerički unos i šalje radniku na temeljito izračunavanje. Radnik vraća masku koju urednik koristi za pregled i doradu.
Ta maska nije druga slika dohvaćena s poslužitelja. To je rezultat izračunat iz lokalne ulazne slike i težine preuzetog modela. Što vidi model izreza na uređaju objašnjava korak od piksela do maske; Osnove obrade slike Web Worker objašnjava zašto je proračun odvojen od rada na sučelju.
Realističan kontrolni popis za prvo pokretanje
Za najčišći prvi test:
- Otvorite uređivač sa stabilnom vezom.
- Dopustite da se postavljanje modela završi prije nego što procijenite brzinu obrade.
- Počnite sa slikom razumne veličine s jasnim subjektom.
- Izvezite jednom kako biste provjerili punu putanju.
- Kasnije ponovno otvorite uređivač i potvrdite da je postavljanje kraće s predmemoriranim modelom.
Ako ažuriranje modela eventualno izazove novo preuzimanje, pustite da dovrši prije usporedbe rezultata. Različite verzije modela mogu proizvesti malo drugačije maske, stoga zabilježite verziju proširenja kada je ponovljivost važna.
Čekanje prvog pokretanja donosi praktičan kompromis: nabavite model obrade jednom ili povremeno, a zatim ga ponovno upotrijebite za lokalne izreze. Za širi niz od piksela za izvoz pogledajte Kako radi lokalno uklanjanje pozadine.