Instalace kontejnerů Dockeru pro čtení OCR
Poznámka
Od září 22 2020 je většina ověřovaných kontejnerů hostována ve službě Microsoft Container Registry a jejich stažení nevyžaduje použití příkazu Docker Login. Pro spuštění kontejneru budete stále muset dokončit online požadavek. Další informace najdete v části schválení žádosti o spuštění kontejneru níže v článku.
Kontejnery umožňují spouštět rozhraní API Počítačového zpracování obrazu ve vlastním prostředí. Kontejnery jsou skvělé pro splnění určitých požadavků na zabezpečení a zásady správného řízení dat. V tomto článku se dozvíte, jak stáhnout, nainstalovat a spustit Počítačové zpracování obrazu kontejnery.
Kontejner Read OCR umožňuje extrahovat tištěný a ručně psaný text z obrázků a dokumentů s podporou formátů souborů JPEG, PNG, BMP, PDF a TIFF. Další informace najdete v návodu k rozhraní API pro čtení.
Novinky
Pro stávající uživatele kontejnerů Read je k dispozici nová verze kontejneru Read s podporou 122 jazyků a obecným výkonem a 3.2-model-2021-09-30-preview vylepšeními AI. Pokud chcete začít, postupujte podle pokynů ke stažení.
Čtení kontejneru 3.2
Kontejner OCR read 3.2 poskytuje:
- Nové modely pro vyšší přesnost
- Podpora více jazyků v rámci stejného dokumentu
- Podpora pro celkem 73 jazyků. Podívejte se na úplný seznam jazyků podporovaných pro OCR.
- Jedna operace pro dokumenty i image.
- Podpora větších dokumentů a imagí
- Skóre spolehlivosti.
- Podpora dokumentů s tištěnou i rukou psanou textovou podporou
- Možnost extrahovat text jenom z vybraných stránek v dokumentu
- Zvolte pořadí výstupu řádků textu z výchozího pořadí na přirozenější pořadí čtení pouze pro jazyky latinky.
- Klasifikace řádků textu jako rukou psaný styl nebo ne jenom pro jazyky latinky.
Pokud dnes používáte kontejnery Read 2.0, přečtěte si průvodce migrací, ve které najdete informace o změnách v nových verzích.
Požadavky
Před použitím kontejnerů musíte splnit následující požadavky:
| Vyžadováno | Účel |
|---|---|
| Docker Engine | Potřebujete mít na hostitelském počítači nainstalovaný modul Docker Engine. Docker poskytuje balíčky, které nakonfigurují prostředí Dockeru v systému macOS, Windows a Linux. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru). Docker musí být nakonfigurovaný tak, aby kontejnerům umožnil připojení a odesílání fakturačních dat do Azure. Na Windows musí být Docker také nakonfigurovaný tak, aby podporoval kontejnery Linuxu. |
| Znalost Dockeru | Měli byste mít základní znalosti konceptů Dockeru, jako jsou registry, úložiště, kontejnery a image kontejnerů, a také znalost základních docker příkazů. |
| Počítačové zpracování obrazu prostředku | Abyste mohli kontejner používat, musíte mít: Prostředek azure Počítačové zpracování obrazu a přidružený klíč rozhraní API identifikátor URI koncového bodu. Obě hodnoty jsou k dispozici na stránkách Přehled a Klíče pro prostředek a jsou vyžadovány ke spuštění kontejneru. {API_KEY}: Jeden ze dvou dostupných klíčů prostředků na stránce Klíče {ENDPOINT_URI}: Koncový bod, který je k dispozici na stránce Přehled. |
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Žádost o schválení spuštění kontejneru
Vyplňte a odešlete formulář žádosti s žádostí o schválení pro spuštění kontejneru.
Formulář požaduje informace o vás, vaší společnosti a scénáři uživatele, pro které budete kontejner používat. Po odeslání formuláře ho tým Azure Cognitive Services zkontroluje a pošle vám e-mail s rozhodnutím.
Důležité
- Ve formuláři je nutné použít e-mailovou adresu přidruženou k ID předplatného Azure.
- Prostředek Azure, který používáte ke spuštění kontejneru, se musí vytvořit s schváleným ID předplatného Azure.
- Pokud chcete aktualizovat stav vaší aplikace od Microsoftu, Projděte si e-mail (Doručená pošta a složky nevyžádané pošty).
Po schválení budete moct kontejner spustit po jeho stažení ze služby Microsoft Container Registry (MCR), která je popsána dále v článku.
Pokud vaše předplatné Azure neschválíte, nebudete moct kontejner spustit.
Shromažďují se požadované parametry.
Existují tři primární parametry pro všechny požadované kontejnery Cognitive Services. Podmínky licenční smlouvy s koncovým uživatelem (EULA) musí být k dispozici s hodnotou accept . Kromě toho je potřeba adresa URL koncového bodu i klíč rozhraní API.
Identifikátor URI koncového bodu {ENDPOINT_URI}
Hodnota identifikátoru URI koncového bodu je k dispozici na stránce Přehled Azure Portal odpovídajícího prostředku služby pro rozpoznávání. Přejděte na stránku Přehled , najeďte myší na koncový bod a Copy to clipboard zobrazí se ikona. Zkopírujte a použijte tam, kde je to potřeba.

Klíče {API_KEY}
Tento klíč se používá ke spuštění kontejneru a je k dispozici na stránce klíčů Azure Portal odpovídajícího prostředku služby pro rozpoznávání. Přejděte na stránku klíče a klikněte na Copy to clipboard ikonu.

Důležité
Tyto klíče předplatného se používají pro přístup ke službě rozpoznávání rozhraní API. Nesdílejte své klíče. Bezpečně je uložte, například pomocí Azure Key Vault. Tyto klíče doporučujeme také pravidelně obnovovat. K volání rozhraní API je potřeba jenom jeden klíč. Při opětovném generování prvního klíče můžete použít druhý klíč pro pokračování přístupu ke službě.
Hostitelský počítač
Hostitel je počítač s procesorem x64, na kterém běží kontejner Docker. Může to být počítač v místním prostředí nebo hostská služba Docker v Azure, například:
- Služba Azure Kubernetes
- Azure Container Instances.
- Kubernetes cluster byl nasazen do Azure Stack. Další informace najdete v tématu nasazení Kubernetes do Azure Stack.
Podpora rozšíření Advanced Vector Extension
Hostitelský počítač je počítač, na který běží kontejner Dockeru. Hostitel musí podporovat rozšíření AVX2 (Advanced Vector Extensions). Podporu AVX2 na hostitelích s Linuxem můžete zkontrolovat pomocí následujícího příkazu:
grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected
Upozornění
Hostitelský počítač je nutný pro podporu AVX2. Bez podpory AVX2 nebude kontejner fungovat správně.
Požadavky na kontejnery a doporučení
Poznámka
Požadavky a doporučení jsou založené na srovnávacích testech s jednou žádostí za sekundu pomocí obrázku 523 – KB naskenovaného obchodního dopisu, který obsahuje 29 řádků a celkem 803 znaků. Doporučená konfigurace má za následek přibližně dvojnásobnou odezvu v porovnání s minimální konfigurací.
Následující tabulka popisuje minimální a doporučené přidělení prostředků pro každý kontejner OCR pro čtení.
| Kontejner | Minimum | Doporučeno |
|---|---|---|
| Přečíst 2,0 – Preview | 1 jádro, 8 GB paměti | 8 jader, 16 GB paměti |
| Přečíst 3,2 | 4 jádra, 16 GB paměti | 8 jader, 24 GB paměti |
- Každé jádro musí mít aspoň 2,6 GHz nebo rychlejší.
Základní a paměť odpovídají --cpus --memory nastavení a, která se používají jako součást docker run příkazu.
Získání image kontejneru pomocí docker pull
Image kontejnerů pro čtení jsou k dispozici.
| Kontejner | Container Registry / úložiště / název image |
|---|---|
| Read 3.2 model-2021-09-30-preview | mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-09-30-preview |
| Čtení 3.2 | mcr.microsoft.com/azure-cognitive-services/vision/read:3.2 |
| Read 2.0-preview | mcr.microsoft.com/azure-cognitive-services/vision/read:2.0-preview |
Pomocí příkazu docker pull stáhněte image kontejneru.
Docker pull pro kontejner Read OCR
Nejnovější verzi Preview:
docker pull mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-09-30-preview
docker pull mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
Tip
K vypsání stažených imagí kontejneru můžete použít příkaz Docker images . Například následující příkaz vypíše ID, úložiště a značku jednotlivých stažených imagí kontejneru, které jsou formátovány jako tabulka:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Jak používat kontejner
Jakmile je kontejner na hostitelském počítači,použijte pro práci s kontejnerem následující postup.
- Spusťte kontejner spožadovaným nastavením fakturace. K dispozici jsou další
docker runpříklady příkazu . - Dotazování koncového bodu předpovědi kontejneru
Spuštění kontejneru pomocí docker run
Ke spuštění kontejneru použijte příkaz docker run. Podrobnosti o tom, jak získat hodnoty a, najdete v tématu shromažďování {ENDPOINT_URI} požadovaných {API_KEY} parametrů.
K dispozici jsou docker run příklady příkazu .
Pokud chcete získat nejnovější verzi Preview, nahraďte cestu 3.2 tímto kódem:
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-09-30-preview
docker run --rm -it -p 5000:5000 --memory 18g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Tento příkaz:
- Spustí kontejner Read OCR z image kontejneru.
- Přidělí 8 jader procesoru a 18 gigabajtů (GB) paměti.
- Zpřístupňuje port TCP 5000 a přidělí kontejneru pseudo-TTY.
- Automaticky odebere kontejner po jeho ukončení. Image kontejneru je stále k dispozici na hostitelském počítači.
Kontejner můžete případně spustit pomocí proměnných prostředí:
docker run --rm -it -p 5000:5000 --memory 18g --cpus 8 \
--env Eula=accept \
--env Billing={ENDPOINT_URI} \
--env ApiKey={API_KEY} \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
K dispozici jsou další docker run příklady příkazu .
Důležité
Ke spuštění kontejneru je nutné zadat možnosti , a . V opačném případě se kontejner Eula Billing ApiKey nespustí. Další informace najdete v tématu Fakturace.
Pokud potřebujete vyšší propustnost (například při zpracování vícestránkové soubory), zvažte nasazení několika kontejnerů v clusteru Kubernetespomocí Azure Storage a Azure Queue.
Pokud k ukládání obrázků Azure Storage ke zpracování používáte nástroj , můžete vytvořit připojovací řetězec, který se použije při volání kontejneru.
Vyhledání připojovacího řetězce:
- Přejděte na Storage účty na Azure Portal a vyhledejte svůj účet.
- V levém navigačním seznamu klikněte na přístupové klíče .
- Váš připojovací řetězec se bude nacházet pod připojovacím řetězcem .
Spuštění více kontejnerů na stejném hostiteli
Pokud máte v úmyslu spustit více kontejnerů s vystavenými porty, ujistěte se, že každý kontejner spustíte s jiným vystaveným portem. Například spusťte první kontejner na portu 5000 a druhý kontejner na portu 5001.
Můžete mít tento kontejner a jiný kontejner Azure Cognitive Services běžící na hostiteli společně. Můžete mít také více kontejnerů stejného Cognitive Services kontejneru se systémem.
Ověření, jestli je kontejner spuštěný
Existuje několik způsobů, jak ověřit, zda je kontejner spuštěn. Vyhledejte externí IP adresu a vystavený port příslušného kontejneru a otevřete svůj oblíbený webový prohlížeč. K ověření, že je kontejner spuštěný, použijte různé adresy URL žádostí níže. Níže uvedené příklady adres URL žádostí se http://localhost:5000 můžou lišit, ale váš konkrétní kontejner se může lišit. Pamatujte na to, že budete spoléhat na externí IP adresu vašeho kontejneru a vystavený port.
| Adresa URL požadavku | Účel |
|---|---|
http://localhost:5000/ |
Kontejner poskytuje domovskou stránku. |
http://localhost:5000/ready |
Požadováno pomocí GET, poskytuje ověření, že je kontejner připraven přijmout dotaz na model. Tento požadavek se dá použít k Kubernetesi živých a připravených sond. |
http://localhost:5000/status |
Požadavek s funkcí GET ověří, zda je klíč rozhraní API použitý ke spuštění kontejneru platný, aniž by to způsobilo dotaz na koncový bod. Tento požadavek se dá použít k Kubernetesi živých a připravených sond. |
http://localhost:5000/swagger |
V kontejneru je ke koncovým bodům a k funkci Vyzkoušet kompletní dokumentace. Pomocí této funkce můžete zadat nastavení do webového formuláře HTML a vytvořit dotaz bez nutnosti psát jakýkoli kód. Jakmile se dotaz vrátí, je k dispozici vzorový příkaz SLOŽENÉho příkazu, který předvádí hlavičku protokolu HTTP a požadovaný formát textu. |

Zadání dotazu do prediktivního koncového bodu kontejneru
Kontejner poskytuje rozhraní API prediktivního koncového bodu pro dotazy založené na REST.
Nejnovější verzi Preview:
Pokud jste již nasadili 3,2 na portu 5000, použijte stejnou cestu Swagger jako 3,2, ale jiný port.
Pro rozhraní API kontejneru použijte hostitele http://localhost:5000. Cestu Swagger můžete zobrazit v umístění: http://localhost:5000/swagger/vision-v3.2-read/swagger.json .
Asynchronní čtení
Pro nejnovější verzi Preview je vše stejné jako 3,2 s výjimkou dalších "modelVersion": "2021-09-30-preview" .
Můžete použít POST /vision/v3.2/read/analyze GET /vision/v3.2/read/operations/{operationId} operace a společně k asynchronnímu čtení obrázku, podobně jako služba počítačové zpracování obrazu používá tyto odpovídající operace REST. Asynchronní metoda POST vrátí operationId hodnotu, která se používá jako identifikátorem požadavku HTTP GET.
V uživatelském rozhraní Swagger vyberte Analyze a rozbalte ho v prohlížeči. Pak vyberte vyzkoušet pro výběr > souboru. V tomto příkladu použijeme následující obrázek:

Po úspěšném spuštění asynchronního příspěvku vrátí stavový kód HTTP 202 . V rámci odpovědi je k dispozici operation-location záhlaví, které obsahuje výsledný koncový bod pro požadavek.
content-length: 0
date: Fri, 04 Sep 2020 16:23:01 GMT
operation-location: http://localhost:5000/vision/v3.2/read/operations/a527d445-8a74-4482-8cb3-c98a65ec7ef9
server: Kestrel
operation-locationJe plně kvalifikovaná adresa URL, ke které se dostanete prostřednictvím HTTP GET. Tady je odpověď JSON z vykonání operation-location adresy URL z předchozího obrázku:
{
"status": "succeeded",
"createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
"lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
"analyzeResult": {
"version": "3.2.0",
"readResults": [
{
"page": 1,
"angle": 2.1243,
"width": 502,
"height": 252,
"unit": "pixel",
"lines": [
{
"boundingBox": [
58,
42,
314,
59,
311,
123,
56,
121
],
"text": "Tabs vs",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.96
}
},
"words": [
{
"boundingBox": [
68,
44,
225,
59,
224,
122,
66,
123
],
"text": "Tabs",
"confidence": 0.933
},
{
"boundingBox": [
241,
61,
314,
72,
314,
123,
239,
122
],
"text": "vs",
"confidence": 0.977
}
]
},
{
"boundingBox": [
286,
171,
415,
165,
417,
197,
287,
201
],
"text": "paces",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.746
}
},
"words": [
{
"boundingBox": [
286,
179,
404,
166,
405,
198,
290,
201
],
"text": "paces",
"confidence": 0.938
}
]
}
]
}
]
}
}
Důležité
Pokud nasadíte více čtecích kontejnerů OCR za nástroj pro vyrovnávání zatížení, například v části Docker Compose nebo Kubernetes, musíte mít externí mezipaměť. Vzhledem k tomu, že kontejner zpracování a kontejner požadavků GET nemusí být stejné, externí mezipaměť ukládá výsledky a sdílí je napříč kontejnery. Podrobnosti o nastavení mezipaměti najdete v tématu konfigurace kontejnerů docker počítačové zpracování obrazu.
Synchronní čtení
K synchronnímu čtení obrázku můžete použít následující operaci.
POST /vision/v3.2/read/syncAnalyze
Když se image načte v celém rozsahu, pak rozhraní API pak vrátí odpověď JSON. Jedinou výjimkou je situace, kdy dojde k chybě. Pokud dojde k chybě, vrátí se následující JSON:
{
"status": "Failed"
}
Objekt odpovědi JSON má stejný graf objektů jako asynchronní verze. Pokud jste uživatelem JavaScriptu a chcete mít bezpečnost typů, zvažte použití TypeScriptu k přetypování odpovědi JSON.
Příklad použití naleznete tady: v karanténě pro TypeScript a výběrem Spustit provizualizujte jeho snadné použití.
Zastavení kontejneru
Pokud chcete vypnout kontejner, v prostředí příkazového řádku, kde je kontejner spuštěný, vyberte CTRL + C.
Řešení potíží
Pokud spouštíte kontejner s povoleným výstupním připojením a povolíte protokolování, kontejner generuje soubory protokolu, které jsou užitečné při řešení problémů, ke kterým dochází při spuštění nebo spuštění kontejneru.
Tip
Další informace a pokyny pro řešení potíží najdete v tématu Nejčastější dotazy k Cognitive Services kontejnerů.
Pokud máte potíže se spuštěním kontejneru služeb Cognitive Services, můžete zkusit použít diagnostický kontejner Microsoftu. S využitím tohoto kontejneru můžete diagnostikovat běžné chyby ve vašem vývojovém prostředí, které můžou bránit kontejnerům služeb Cognitive Services, aby fungovaly podle očekávání.
K získání kontejneru použijte následující příkaz pull Dockeru:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Pak spusťte kontejner, {ENDPOINT_URI} nahraďte koncovým bodem a nahraďte {API_KEY} klíčem vašeho prostředku:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Kontejner otestujte síťové připojení ke koncovému bodu fakturace.
Fakturace
Kontejnery Cognitive Services odesílají informace o fakturaci do Azure pomocí odpovídajícího prostředku v účtu Azure.
Dotazy na kontejner se účtuly na cenové úrovni prostředku Azure, který se používá pro ApiKey parametr .
Azure Cognitive Services kontejnery nemají licenci ke spuštění bez připojení ke koncovému bodu měření nebo fakturace. Kontejnerům musíte za všech okolností povolit, aby s fakturačním koncovým bodem komunikovali fakturační údaje. Cognitive Services kontejnery neposílat zákaznická data, jako je obrázek nebo text, který se analyzuje, do Microsoftu.
Připojení k Azure
Kontejner ke spuštění potřebuje hodnoty argumentu fakturace. Tyto hodnoty umožňují kontejneru připojit se ke koncovému bodu fakturace. Kontejner hlásí využití přibližně každých 10 až 15 minut. Pokud se kontejner v povoleném časovém období nepřipojí k Azure, kontejner se bude dál spouštět, ale nebude obsluhovat dotazy, dokud se koncový bod fakturace neznoví. Pokus o připojení je proveden 10krát ve stejném časovém intervalu od 10 do 15 minut. Pokud se nemůže během 10 pokusů připojit ke koncovému bodu fakturace, kontejner přestane obsluhut žádosti. Příklad informací odeslaných Microsoftu k fakturaci najdete v nejčastějších dotazech Cognitive Services kontejnerů.
Argumenty fakturace
docker run Příkaz spustí kontejner, když jsou k dispozici všechny tři z následujících možností s platnými hodnotami:
| Možnost | Popis |
|---|---|
ApiKey |
Klíč rozhraní API prostředku Cognitive Services, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavená na klíč rozhraní API pro zřízený prostředek zadaný v Billing . |
Billing |
Koncový bod prostředku Cognitive Services, který se používá ke sledování fakturačních údajů. Hodnota této možnosti musí být nastavená na identifikátor URI koncového bodu pro zřízený prostředek Azure. |
Eula |
Označuje, že jste přijali licenci pro kontejner. Hodnota této možnosti musí být nastavená na příjem. |
Další informace o těchto možnostech najdete v tématu konfigurace kontejnerů.
Souhrn
V tomto článku jste zjistili koncepty a pracovní postupy pro stažení, instalaci a spuštění kontejnerů Počítačové zpracování obrazu. Souhrn:
- Počítačové zpracování obrazu poskytuje kontejner pro Linux pro Docker, zapouzdření čtení.
- Image pro čtení kontejneru vyžaduje aplikaci pro její spuštění.
- Image kontejneru se spouštějí v Docker.
- Pomocí REST API nebo sady SDK můžete volat operace v kontejnerech pro rozpoznávání OCR zadáním identifikátoru URI hostitele kontejneru.
- Při vytváření instance kontejneru je nutné zadat informace o fakturaci.
Důležité
Nemusíte spouštět kontejnery Cognitive Services bez připojení k Azure pro měření. Zákazníci musí povolit kontejnerům, aby ve všech časech komunikovaly informace o fakturaci. Kontejnery Cognitive Services neodesílají zákaznická data (například obrázek nebo analyzovaný text) společnosti Microsoft.
Další kroky
- Přečtěte si téma konfigurace kontejnerů pro nastavení konfigurace
- Další informace o rozpoznávání tiskového a rukopisného textu najdete v přehledu optického rozpoznávání znaků .
- Podrobnosti o metodách podporovaných kontejnerem najdete v tématu rozhraní API pro čtení .
- Přečtěte si Nejčastější dotazy k řešení problémů souvisejících se počítačové zpracování obrazu funkcemi.
- Použít více Cognitive Servicesch kontejnerů