Installer et exécuter des conteneurs Reconnaître le texteInstall and run Recognize Text containers

Le composant Reconnaître le texte de Vision par ordinateur est également disponible en tant que conteneur Docker.The Recognize Text portion of Computer Vision is also available as a Docker container. Il permet de détecter et d’extraire un texte imprimé à partir d’images d’objets divers avec différents arrière-plans et surfaces, tels que des reçus, des affiches et des cartes de visite.It allows you to detect and extract printed text from images of various objects with different surfaces and backgrounds, such as receipts, posters, and business cards.

Important

Le conteneur Reconnaître le texte ne fonctionne qu’en anglais pour le moment.The Recognize Text container currently works only with English.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

PrérequisPrerequisites

L’utilisation des conteneurs Reconnaître le texte est soumise aux prérequis suivants :You must meet the following prerequisites before using Recognize Text containers:

ObligatoireRequired ObjectifPurpose
Moteur DockerDocker Engine Vous avez besoin d’un moteur Docker installé sur un ordinateur hôte.You need the Docker Engine installed on a host computer. Docker fournit des packages qui configurent l’environnement Docker sur macOS, Windows et Linux.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Pour apprendre les principes de base de Docker et des conteneurs, consultez la vue d’ensemble de Docker.For a primer on Docker and container basics, see the Docker overview.

Vous devez configurer Docker pour permettre aux conteneurs de se connecter à Azure et de lui envoyer des données de facturation.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Sur Windows, vous devez également configurer Docker pour prendre en charge les conteneurs Linux.On Windows, Docker must also be configured to support Linux containers.

Bonne connaissance de DockerFamiliarity with Docker Vous devez avoir une compréhension élémentaire des concepts Docker, notamment les registres, référentiels, conteneurs et images conteneurs, ainsi qu’une maîtrise des commandes docker de base.You should have a basic understanding of Docker concepts, like registries, repositories, containers, and container images, as well as knowledge of basic docker commands.
Ressource Cognitive Services AzureAzure Cognitive Services resource Pour pouvoir utiliser le conteneur, vous devez disposer des éléments suivants :In order to use the container, you must have:

Ressource Azure Cognitive Services et la clé de facturation de l’URI du point de terminaison de facturation associée.A Cognitive Services Azure resource and the associated billing key the billing endpoint URI. Les deux valeurs, disponibles dans les pages Vue d’ensemble et Clés de la ressource, sont nécessaires au démarrage du conteneur.Both values are available on the Overview and Keys pages for the resource and are required to start the container. Vous devez ajouter le routage vision/v2.0 à l’URI de point de terminaison, comme dans l’exemple BILLING_ENDPOINT_URI suivant.You need to add the vision/v2.0 routing to the endpoint URI as shown in the following BILLING_ENDPOINT_URI example.

{BILLING_KEY}  : clé de ressource{BILLING_KEY}: resource key

{BILLING_ENDPOINT_URI}  : exemple d’UURI de point de terminaison : https://westus.api.cognitive.microsoft.com/vision/v2.0{BILLING_ENDPOINT_URI}: endpoint URI example is: https://westus.api.cognitive.microsoft.com/vision/v2.0

Demander l’accès au registre de conteneurs privéRequest access to the private container registry

Remplir et soumettre le formulaire de demande de conteneurs de Vision Services cognitifs pour demander l’accès au conteneur.Fill out and submit the Cognitive Services Vision Containers Request form to request access to the container. Le formulaire demande des informations sur vous, votre entreprise et le scénario d’utilisateur pour lequel vous allez utiliser le conteneur.The form requests information about you, your company, and the user scenario for which you'll use the container. Une fois que vous envoyez le formulaire, l’équipe Azure Cognitive Services passe en revue pour vous assurer que vous remplissez les critères pour l’accès au Registre de conteneurs privé.After you submit the form, the Azure Cognitive Services team reviews it to make sure that you meet the criteria for access to the private container registry.

Important

Vous devez utiliser une adresse de messagerie associée à un compte Microsoft (MSA) ou un compte Azure Active Directory (Azure AD) dans le formulaire.You must use an email address associated with either a Microsoft Account (MSA) or an Azure Active Directory (Azure AD) account in the form.

Si votre demande est approuvée, vous recevez un e-mail contenant des instructions qui expliquent comment obtenir vos informations d’identification et d’accéder au Registre de conteneurs privé.If your request is approved, you receive an email with instructions that describe how to obtain your credentials and access the private container registry.

Se connecter au registre de conteneurs privéLog in to the private container registry

Il existe plusieurs façons de s’authentifier auprès du Registre de conteneurs privé pour les conteneurs de Cognitive Services.There are several ways to authenticate with the private container registry for Cognitive Services containers. Nous vous recommandons d’utiliser la méthode de ligne de commande à l’aide de la Docker CLI.We recommend that you use the command-line method by using the Docker CLI.

Utilisez le connexion docker commande, comme indiqué dans l’exemple suivant, pour vous connecter à containerpreview.azurecr.io, c'est-à-dire le Registre de conteneurs privé pour les conteneurs de Cognitive Services.Use the docker login command, as shown in the following example, to log in to containerpreview.azurecr.io, which is the private container registry for Cognitive Services containers. Remplacez <username> par le nom de l’utilisateur et <password> par le mot de passe fourni dans les informations d’identification envoyées par l’équipe Azure Cognitive Services.Replace <username> with the user name and <password> with the password provided in the credentials you received from the Azure Cognitive Services team.

docker login containerpreview.azurecr.io -u <username> -p <password>

Si vous avez sécurisé vos informations d’identification dans un fichier texte, vous pouvez concaténer le contenu du fichier texte dans le docker login commande.If you secured your credentials in a text file, you can concatenate the contents of that text file to the docker login command. Utilisez le cat commande, comme indiqué dans l’exemple suivant.Use the cat command, as shown in the following example. Remplacez <passwordFile> avec le chemin d’accès et le nom du fichier texte qui contient le mot de passe.Replace <passwordFile> with the path and name of the text file that contains the password. Remplacez <nom d’utilisateur> avec le nom d’utilisateur fourni dans vos informations d’identification.Replace <username> with the user name provided in your credentials.

cat <passwordFile> | docker login containerpreview.azurecr.io -u <username> --password-stdin

L’ordinateur hôteThe host computer

L’hôte est un ordinateur x64 qui exécute le conteneur Docker.The host is a x64-based computer that runs the Docker container. Il peut s’agir d’un ordinateur local ou d’un service d’hébergement Docker dans Azure, comme :It can be a computer on your premises or a Docker hosting service in Azure, such as:

Exigences et suggestions relatives au conteneurContainer requirements and recommendations

Le tableau suivant décrit la quantité minimale et recommandée de cœurs de processeur et de mémoire à allouer pour chaque conteneur Reconnaître le texte.The following table describes the minimum and recommended CPU cores and memory to allocate for each Recognize Text container.

ConteneurContainer MinimaleMinimum RecommandéRecommended TPSTPS
(Minimum, Maximum)(Minimum, Maximum)
Reconnaître le texteRecognize Text 1 cœur, 8 Go de mémoire, 0,5 TPS1 core, 8 GB memory, 0.5 TPS 2 cœurs, 8 Go de mémoire, 1 TPS2 cores, 8 GB memory, 1 TPS 0,5, 10.5, 1
  • Chaque cœur doit être cadencé à au moins 2,6 gigahertz (GHz).Each core must be at least 2.6 gigahertz (GHz) or faster.
  • TPS - transactions par secondeTPS - transactions per second

Le nombre de cœurs et la quantité de mémoire correspondent aux paramètres --cpus et --memory qui sont utilisés dans le cadre de la commande docker run.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Obtenir l’image conteneur avec docker pullGet the container image with docker pull

Des images conteneur sont disponibles pour Reconnaître le texte.Container images for Recognize Text are available.

ConteneurContainer RéférentielRepository
Reconnaître le texteRecognize Text containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text:latest

Utilisez la commande docker pull pour télécharger une image conteneur.Use the docker pull command to download a container image.

Commande docker pull du conteneur Reconnaître le texteDocker pull for the Recognize Text container

docker pull containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text:latest

Conseil

Vous pouvez utiliser la commande docker images pour lister vos images conteneurs téléchargées.You can use the docker images command to list your downloaded container images. Par exemple, la commande suivante liste l’ID, le référentiel et la balise de chaque image conteneur téléchargée dans un tableau :For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID            REPOSITORY              TAG
<image-id>       <repository-path/name>         <tag-name>

Comment utiliser le conteneurHow to use the container

Une fois que le conteneur est sur l’ordinateur hôte, appliquez la procédure suivante pour travailler avec le conteneur.Once the container is on the host computer, use the following process to work with the container.

  1. Exécutez le conteneur avec les paramètres de facturation requis.Run the container, with the required billing settings. D’autres exemples de commande docker run sont disponibles.More examples of the docker run command are available.
  2. Interrogez le point de terminaison de prédiction du conteneur.Query the container's prediction endpoint.

Exécuter le conteneur avec docker runRun the container with docker run

Utilisez la commande docker run pour exécuter le conteneur.Use the docker run command to run the container. La commande utilise les paramètres suivants :The command uses the following parameters:

PlaceholderPlaceholder ValeurValue
{BILLING_KEY}{BILLING_KEY} Cette clé, qui permet de démarrer le conteneur, est disponible dans la page Clés de Azure Cognitive Services.This key is used to start the container, and is available on the Azure Cognitive Services Keys page.
{BILLING_ENDPOINT_URI}{BILLING_ENDPOINT_URI} Valeur de l’URI du point de terminaison de facturation.The billing endpoint URI value. Par exemple : https://westus.api.cognitive.microsoft.com/vision/v2.0Example is: https://westus.api.cognitive.microsoft.com/vision/v2.0

Vous devez ajouter le routage vision/v2.0 à l’URI de point de terminaison, comme dans l’exemple BILLING_ENDPOINT_URI suivant.You need to add the vision/v2.0 routing to the endpoint URI as shown in the following BILLING_ENDPOINT_URI example.

Remplacez ces paramètres par vos propres valeurs dans l’exemple de commande docker run suivant.Replace these parameters with your own values in the following example docker run command.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
containerpreview.azurecr.io/microsoft/cognitive-services-recognize-text \
Eula=accept \
Billing={BILLING_ENDPOINT_URI} \
ApiKey={BILLING_KEY}

Cette commande :This command:

  • Exécute un conteneur Reconnaître le texte à partir de l’image conteneur.Runs a recognize container from the container image
  • Alloue un cœur de processeur et 4 gigaoctets (Go) de mémoire.Allocates one CPU core and 4 gigabytes (GB) of memory
  • Expose le port TCP 5000 et alloue un pseudo-TTY pour le conteneurExposes TCP port 5000 and allocates a pseudo-TTY for the container
  • Supprime automatiquement le conteneur après sa fermeture.Automatically removes the container after it exits. L’image conteneur est toujours disponible sur l’ordinateur hôte.The container image is still available on the host computer.

D’autres exemples de commande docker run sont disponibles.More examples of the docker run command are available.

Important

Vous devez spécifier les options Eula, Billing et ApiKey pour exécuter le conteneur, sinon il ne démarrera pas.The Eula, Billing, and ApiKey options must be specified to run the container; otherwise, the container won't start. Pour plus d'informations, consultez Facturation.For more information, see Billing.

Exécuter plusieurs conteneurs sur le même hôteRun multiple containers on the same host

Si vous envisagez d’exécuter plusieurs conteneurs avec les ports exposés, veillez à exécuter chaque conteneur avec un port exposé différent.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Par exemple, exécutez le premier conteneur sur le port 5000 et le second conteneur sur le port 5001.For example, run the first container on port 5000 and the second container on port 5001.

Vous pouvez avoir ce conteneur, et un autre conteneur Azure Cognitive Services qui s’exécutent ensemble sur l’hôte.You can have this container and a different Azure Cognitive Services container running on the HOST together. Vous pouvez également disposer de plusieurs conteneurs du même conteneur Cognitive Services en cours d’exécution.You also can have multiple containers of the same Cognitive Services container running.

Interroger le point de terminaison de prédiction du conteneurQuery the container's prediction endpoint

Le conteneur fournit des API de point de terminaison de prédiction de requête basées sur REST.The container provides REST-based query prediction endpoint APIs.

Utilisez l’hôte, http://localhost:5000, pour les API de conteneur.Use the host, http://localhost:5000, for container APIs.

Reconnaissance de texte asynchroneAsynchronous text recognition

Vous pouvez utiliser conjointement les opérations POST /vision/v2.0/recognizeText et GET /vision/v2.0/textOperations/*{id}* pour reconnaître de façon asynchrone le texte imprimé dans une image, ce qui est similaire à la façon dont le service Vision par ordinateur utilise ces opérations REST correspondantes.You can use the POST /vision/v2.0/recognizeText and GET /vision/v2.0/textOperations/*{id}* operations in concert to asynchronously recognize printed text in an image, similar to how the Computer Vision service uses those corresponding REST operations. Le conteneur Reconnaître le texte reconnaît uniquement le texte imprimé pour le moment. Le texte manuscrit n’étant pas reconnu, le paramètre mode normalement spécifié pour l’opération de service Vision par ordinateur est ignoré par le conteneur Reconnaître le texte.The Recognize Text container only recognizes printed text, not handwritten text, at this time, so the mode parameter normally specified for the Computer Vision service operation is ignored by the Recognize Text container.

Reconnaissance de texte synchroneSynchronous text recognition

Vous pouvez utiliser l’opération POST /vision/v2.0/recognizeTextDirect pour reconnaître de façon synchrone le texte imprimé dans une image.You can use the POST /vision/v2.0/recognizeTextDirect operation to synchronously recognize printed text in an image. Étant donné que cette opération est synchrone, le corps de la demande pour cette opération est identique à celui de l’opération POST /vision/v2.0/recognizeText. Toutefois, le corps de la demande pour cette opération est identique à celui retourné par l’opération GET /vision/v2.0/textOperations/*{id}*.Because this operation is synchronous, the request body for this operation is the same as that for the POST /vision/v2.0/recognizeText operation, but the response body for this operation is the same as that returned by the GET /vision/v2.0/textOperations/*{id}* operation.

Valider l’exécution d’un conteneurValidate that a container is running

Il existe plusieurs façons de confirmer que le conteneur s’exécute.There are several ways to validate that the container is running.

RequêteRequest ObjectifPurpose
http://localhost:5000/ Le conteneur fournit une page d’accueil.The container provides a home page.
http://localhost:5000/status Demandée avec GET, pour confirmer que le conteneur est en cours d’exécution sans provoquer de requête de point de terminaison.Requested with GET, to validate that the container is running without causing an endpoint query. Cette requête peut être utilisée pour les probes liveness et readiness de Kubernetes.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Le conteneur fournit un ensemble complet de documentation pour les points de terminaison et une fonctionnalité Try it now.The container provides a full set of documentation for the endpoints and a Try it now feature. Avec cette fonctionnalité, vous pouvez entrer vos paramètres dans un formulaire HTML basé sur le web, et constituer la requête sans avoir à écrire du code.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Une fois la requête retournée, un exemple de commande CURL est fourni pour illustrer les en-têtes HTTP, et le format du corps qui est nécessaire.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Page d’accueil du conteneur

Arrêter le conteneurStop the container

Pour arrêter le conteneur, dans l’environnement de ligne de commande où le conteneur est en cours d’exécution, sélectionnez Ctrl+C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

Résolution de problèmesTroubleshooting

Si vous exécutez le conteneur avec un montage de sortie et la journalisation activée, il génère des fichiers journaux qui sont utiles pour résoudre les problèmes qui se produisent lors du démarrage ou de l’exécution du conteneur.If you run the container with an output mount and logging enabled, the container generates log files that are helpful to troubleshoot issues that happen while starting or running the container.

FacturationBilling

Les conteneurs Reconnaître le texte envoient des informations de facturation à Azure à l’aide d’une ressource Reconnaître le texte sur votre compte Azure.The Recognize Text containers send billing information to Azure, using a Recognize Text resource on your Azure account.

Les requêtes sur le conteneur sont facturées au niveau tarifaire de la ressource Azure utilisée pour <ApiKey>.Queries to the container are billed at the pricing tier of the Azure resource that's used for the <ApiKey>.

Les conteneurs Azure Cognitives Services ne sont pas concédés sous licence dans le but de s’exécuter sans être connectés au point de terminaison de facturation pour le contrôle.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Vous devez configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au point de terminaison de facturation à tout moment.You must enable the containers to communicate billing information with the billing endpoint at all times. Les conteneurs Cognitive Services n’envoient pas de données client, telles que l’image ou le texte analysé, à Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Connexion à AzureConnect to Azure

Le conteneur a besoin des valeurs d’arguments de facturation pour s’exécuter.The container needs the billing argument values to run. Ces valeurs permettent au conteneur de se connecter au point de terminaison de facturation.These values allow the container to connect to the billing endpoint. Le conteneur crée des rapports sur l’utilisation toutes les 10 à 15 minutes.The container reports usage about every 10 to 15 minutes. Si le conteneur ne se connecte pas à Azure dans la fenêtre de temps imparti, il continue de s’exécuter, mais ne traite pas les requêtes tant que le point de terminaison de facturation n’est pas restauré.If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. Une tentative de connexion est effectuée 10 fois, toutes les 10 à 15 minutes.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. S’il ne parvient pas à se connecter au point de terminaison de facturation au cours de ces 10 essais, le conteneur arrête son exécution.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

Arguments de facturationBilling arguments

Pour que la commande docker run démarre le conteneur, des valeurs valides doivent spécifier les trois options suivantes :For the docker run command to start the container, all three of the following options must be specified with valid values:

OptionOption DescriptionDescription
ApiKey Clé API de la ressource Cognitive Services utilisée pour le suivi des informations de facturation.The API key of the Cognitive Services resource that's used to track billing information.
La valeur de cette option doit être définie sur une clé API pour la ressource provisionnée spécifiée dans Billing.The value of this option must be set to an API key for the provisioned resource that's specified in Billing.
Billing Point de terminaison de la ressource Cognitive Services utilisé pour le suivi des informations de facturation.The endpoint of the Cognitive Services resource that's used to track billing information.
La valeur de cette option doit être définie sur l’URI de point de terminaison d’une ressource Azure provisionnée.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Indique que vous avez accepté la licence pour le conteneur.Indicates that you accepted the license for the container.
La valeur de cette option doit être définie sur accepter.The value of this option must be set to accept.

Pour plus d’informations sur ces options, consultez Configurer des conteneurs.For more information about these options, see Configure containers.

Billets de blog :Blog posts

Exemples de développementDeveloper samples

Des exemples de développement sont disponibles sur notre dépôt GitHub.Developer samples are available at our GitHub repository.

Voir le webinaireView webinar

Rejoignez le webinaire pour savoir :Join the webinar to learn about:

  • Comment déployer Cognitive Services sur une machine à l’aide de DockerHow to deploy Cognitive Services to any machine using Docker
  • Comment déployer Cognitive Services sur AKSHow to deploy Cognitive Services to AKS

RésuméSummary

Dans cet article, vous avez découvert des concepts et le flux de travail pour le téléchargement, l’installation et l’exécution des conteneurs Reconnaître le texte.In this article, you learned concepts and workflow for downloading, installing, and running Recognize Text containers. En résumé :In summary:

  • Reconnaître le texte fournit un conteneur Linux pour Docker et encapsule la reconnaissance du texte.Recognize Text provides a Linux container for Docker, encapsulating recognize text.
  • Les images conteneur sont téléchargées à partir de Microsoft Container Registry (MCR) dans Azure.Container images are downloaded from the Microsoft Container Registry (MCR) in Azure.
  • Les images conteneurs s’exécutent dans Docker.Container images run in Docker.
  • Vous pouvez utiliser l’API REST ou le Kit de développement logiciel (SDK) pour appeler des opérations dans des conteneurs Reconnaître le texte en spécifiant l’URI hôte du conteneur.You can use either the REST API or SDK to call operations in Recognize Text containers by specifying the host URI of the container.
  • Vous devez spécifier les informations de facturation lors de l’instanciation d’un conteneur.You must specify billing information when instantiating a container.

Important

Les conteneurs Cognitives Services ne sont pas concédés sous licence pour s’exécuter sans être connectés à Azure pour le contrôle.Cognitive Services containers are not licensed to run without being connected to Azure for metering. Les clients doivent configurer les conteneurs de manière à ce qu’ils communiquent les informations de facturation au service de contrôle à tout moment.Customers need to enable the containers to communicate billing information with the metering service at all times. Les conteneurs Cognitive Services n’envoient pas de données relatives aux clients (par exemple, l’image ou le texte en cours d’analyse) à Microsoft.Cognitive Services containers do not send customer data (for example, the image or text that is being analyzed) to Microsoft.

Étapes suivantesNext steps