Installieren und Ausführen von Containern für die GesichtserkennungInstall and run Face containers

Die Azure Cognitive Services-Gesichtserkennung bietet einen standardisierten Linux-Container für Docker, der menschliche Gesichter in Bildern erkennt.Azure Cognitive Services Face provides a standardized Linux container for Docker that detects human faces in images. Sie identifiziert auch zugehörige Attribute wie Gesichtsmerkmale (z. B. Nasen und Augen), Geschlecht, Alter und andere vom Computer vorhergesagte Gesichtsmerkmale.It also identifies attributes, which include face landmarks such as noses and eyes, gender, age, and other machine-predicted facial features. Zusätzlich zur Erkennung kann die Gesichtserkennung anhand einer Zuverlässigkeitsbewertung überprüfen, ob zwei Gesichter auf demselben Bild oder auf verschiedenen Bildern identisch sind.In addition to detection, Face can check if two faces in the same image or different images are the same by using a confidence score. Die Gesichtserkennung kann auch Gesichter anhand einer Datenbank vergleichen, um zu prüfen, ob bereits ein ähnliches oder identisches Gesicht vorhanden ist.Face also can compare faces against a database to see if a similar-looking or identical face already exists. Sie kann auch ähnliche Gesichter in Gruppen mit gemeinsamen Gesichtsmerkmalen organisieren.It also can organize similar faces into groups by using shared visual traits.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

Zur Verwendung des Containers für die Gesichtserkennungs-API müssen die folgenden Voraussetzungen erfüllt sein:You must meet the following prerequisites before you use the Face API containers.

ErforderlichRequired ZweckPurpose
Docker-EngineDocker Engine Die Docker-Engine muss auf einem Hostcomputer installiert sein.The Docker Engine must be installed on a host computer. Für die Docker-Umgebung stehen Konfigurationspakete für macOS, Windows und Linux zur Verfügung.Docker provides packages that configure the Docker environment on macOS, Windows, and Linux. Eine Einführung in Docker und Container finden Sie in der Docker-Übersicht.For a primer on Docker and container basics, see the Docker overview.

Docker muss so konfiguriert werden, dass die Container eine Verbindung mit Azure herstellen und Abrechnungsdaten an Azure senden können.Docker must be configured to allow the containers to connect with and send billing data to Azure.

Unter Windows muss Docker auch für die Unterstützung von Linux-Containern konfiguriert werden.On Windows, Docker also must be configured to support Linux containers.

Kenntnisse zu DockerFamiliarity with Docker Sie müssen über Grundkenntnisse der Konzepte von Docker, einschließlich Registrierungen, Repositorys, Container und Containerimages, verfügen.You need a basic understanding of Docker concepts, such as registries, repositories, containers, and container images. Außerdem müssen Sie die grundlegenden docker-Befehle kennen.You also need knowledge of basic docker commands.
Azure Cognitive Services-RessourceAzure Cognitive Services resource Um den Container zu verwenden, benötigen Sie Folgendes:To use the container, you must have:

Eine Azure Cognitive Services-Ressource sowie den zugehörigen Abrechnungsschlüssel und den URI des Abrechnungsendpunkts.An Azure Cognitive Services resource and the associated billing key and the billing endpoint URI. Beide Werte stehen auf den Seiten Übersicht und Schlüssel der Ressource zur Verfügung.Both values are available on the Overview and Keys pages for the resource. Sie sind zum Starten des Containers erforderlich.They're required to start the container. Fügen Sie dem Endpunkt-URI das face/v1.0-Routing hinzu, wie im folgenden Beispiel BILLING_ENDPOINT_URI dargestellt:Add the face/v1.0 routing to the endpoint URI, as shown in the following BILLING_ENDPOINT_URI example:

{BILLING_KEY} : Der Ressourcenschlüssel.{BILLING_KEY}: resource key

{BILLING_ENDPOINT_URI} : Der Endpunkt-URI. Beispiel: https://westus.api.cognitive.microsoft.com/face/v1.0{BILLING_ENDPOINT_URI}: endpoint URI example is https://westus.api.cognitive.microsoft.com/face/v1.0

Anfordern des Zugriffs auf die private ContainerregistrierungRequest access to the private container registry

Füllen Sie das Formular zum Anfordern von Cognitive Services-Containern für maschinelles Sehen aus und senden Sie es anschließend, um Zugriff auf den Container anzufordern.Fill out and submit the Cognitive Services Vision Containers Request form to request access to the container. Im Formular müssen Sie Informationen über Sie selbst, Ihr Unternehmen und das Benutzerszenario eintragen, für das Sie den Container verwenden möchten.The form requests information about you, your company, and the user scenario for which you'll use the container. Nach der Übermittlung des Formulars wird es vom Azure Cognitive Services-Team überprüft, um sicherzustellen, dass Sie die Kriterien für den Zugriff auf die private Containerregistrierung erfüllen.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.

Wichtig

Sie müssen im Formular eine E-Mail-Adresse verwenden, die entweder einem Microsoft-Konto (MSA) oder einem Azure Active Directory-Konto (Azure AD) zugeordnet ist.You must use an email address associated with either a Microsoft Account (MSA) or an Azure Active Directory (Azure AD) account in the form.

Wenn Ihre Anforderung genehmigt wurde, erhalten Sie eine E-Mail mit Anweisungen zum Abrufen Ihrer Anmeldeinformationen und zum Zugreifen auf die private Containerregistrierung.If your request is approved, you receive an email with instructions that describe how to obtain your credentials and access the private container registry.

Anmelden bei der privaten ContainerregistrierungLog in to the private container registry

Es gibt verschiedene Möglichkeiten, sich bei der privaten Containerregistrierung für Cognitive Services-Container zu authentifizieren.There are several ways to authenticate with the private container registry for Cognitive Services containers. Es wird empfohlen, die Befehlszeilenmethode mithilfe der Docker CLI zu verwenden.We recommend that you use the command-line method by using the Docker CLI.

Verwenden Sie den Befehl docker login wie im folgenden Beispiel gezeigt, um sich bei der privaten Containerregistrierung für Cognitive Services-Container (containerpreview.azurecr.io) anzumelden.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. Ersetzen Sie <username> durch den Benutzernamen und <password> durch das Kennwort. Diese Anmeldeinformationen wurden Ihnen vom Azure Cognitive Services-Team bereitgestellt.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>

Wenn Sie Ihre Anmeldeinformationen in einer Textdatei gesichert haben, können Sie den Inhalt dieser Textdatei mit dem Befehl docker login verketten.If you secured your credentials in a text file, you can concatenate the contents of that text file to the docker login command. Verwenden Sie den Befehl cat wie im folgenden Beispiel.Use the cat command, as shown in the following example. Ersetzen Sie <passwordFile> durch den Pfad und Namen der Textdatei, die das Kennwort enthält.Replace <passwordFile> with the path and name of the text file that contains the password. Ersetzen Sie den <Benutzernamen> durch den in Ihren Anmeldeinformationen angegebenen Benutzernamen.Replace <username> with the user name provided in your credentials.

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

Der HostcomputerThe host computer

Der Host ist ein x64-basierter Computer, auf dem der Docker-Container ausgeführt wird.The host is a x64-based computer that runs the Docker container. Dies kann ein lokaler Computer oder ein Docker-Hostingdienst in Azure sein, z. B.:It can be a computer on your premises or a Docker hosting service in Azure, such as:

Containeranforderungen und -empfehlungenContainer requirements and recommendations

In der folgenden Tabelle werden die Mindestanforderungen und empfohlenen Werte für CPU-Kerne und Arbeitsspeicher beschrieben, die jedem Container für die Gesichtserkennungs-API zugeordnet werden müssen.The following table describes the minimum and recommended CPU cores and memory to allocate for each Face API container.

ContainerContainer MinimumMinimum EmpfohlenRecommended Transaktionen pro SekundeTransactions per second
(Minimum, Maximum)(Minimum, maximum)
GesichtFace Ein Kern, 2 GB Arbeitsspeicher1 core, 2-GB memory Ein Kern, 4 GB Arbeitsspeicher1 core, 4-GB memory 10, 2010, 20
  • Jeder Kern muss eine Geschwindigkeit von mindestens 2,6 GHz aufweisen.Each core must be at least 2.6 GHz or faster.
  • Transaktionen pro Sekunde (TPS)Transactions per second (TPS).

Kern und Arbeitsspeicher entsprechen den Einstellungen --cpus und --memory, die im Rahmen des Befehls docker run verwendet werden.Core and memory correspond to the --cpus and --memory settings, which are used as part of the docker run command.

Abrufen des Containerimages mit dem Befehl „docker pull“Get the container image with docker pull

Es stehen Containerimages für die Gesichtserkennungs-API zur Verfügung.Container images for the Face API are available.

ContainerContainer RepositoryRepository
GesichtFace containerpreview.azurecr.io/microsoft/cognitive-services-face:latest

Tipp

Mithilfe des Befehls docker images können Sie Ihre heruntergeladenen Containerimages auflisten.You can use the docker images command to list your downloaded container images. Mit dem folgenden Befehl werden beispielsweise die ID, das Repository und das Tag jedes heruntergeladenen Containerimages in Form einer Tabelle aufgelistet: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
ebbee78a6baa       <container-name>         latest

Docker-Pullvorgang für den Container für die GesichtserkennungDocker pull for the Face container

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

Verwenden des ContainersUse the container

Wenn sich der Container auf dem Hostcomputer befindet, können Sie über den folgenden Prozess mit dem Container arbeiten.After the container is on the host computer, use the following process to work with the container.

  1. Führen Sie den Container aus, und verwenden Sie dabei die erforderlichen Abrechnungseinstellungen.Run the container with the required billing settings. Es sind noch weitere Beispiele für den Befehl docker run verfügbar.More examples of the docker run command are available.
  2. Fragen Sie den Vorhersageendpunkt des Containers ab.Query the container's prediction endpoint.

Ausführen des Containers mit „docker run“Run the container with docker run

Verwenden Sie den Befehl docker run, um einen der drei Container auszuführen.Use the docker run command to run any of the three containers. Für den Befehl werden die folgenden Parameter verwendet.The command uses the following parameters.

PlatzhalterPlaceholder WertValue
{BILLING_KEY}{BILLING_KEY} Dieser Schlüssel wird zum Starten des Containers verwendet und ist auf der Cognitive Services Schlüssel-Seite von Azure verfügbar.This key is used to start the container and is available on the Azure Cognitive Services Keys page.
{BILLING_ENDPOINT_URI}{BILLING_ENDPOINT_URI} Den URI des Abrechnungsendpunkts finden Sie auf der Cognitive Services Übersicht-Seite von Azure.The billing endpoint URI value is available on the Azure Cognitive Services Overview page. Ein Beispiel ist https://westus.api.cognitive.microsoft.com/face/v1.0.An example is https://westus.api.cognitive.microsoft.com/face/v1.0.

Fügen Sie dem Endpunkt-URI das face/v1.0-Routing hinzu, wie im vorherigen Beispiel BILLING_ENDPOINT_URI dargestellt.Add the face/v1.0 routing to the endpoint URI, as shown in the preceding BILLING_ENDPOINT_URI example.

Ersetzen Sie im folgenden Beispiel für den docker run-Befehl diese Parameter durch Ihre eigenen Werte.Replace these parameters with your own values in the following docker run command example:

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

Dieser Befehl:This command:

  • Führt einen Container für die Gesichtserkennung auf der Grundlage des Containerimages ausRuns a face container from the container image.
  • Weist einen einzelnen CPU-Kern und 4 GB Arbeitsspeicher zuAllocates one CPU core and 4 GB of memory.
  • Macht TCP-Ports 5000 verfügbar und weist eine Pseudo-TTY-Verbindung für den Container zuExposes TCP port 5000 and allocates a pseudo TTY for the container.
  • Entfernt den Container automatisch, nachdem er beendet wurde.Automatically removes the container after it exits. Das Containerimage ist auf dem Hostcomputer weiterhin verfügbar.The container image is still available on the host computer.

Es sind noch weitere Beispiele für den Befehl docker run verfügbar.More examples of the docker run command are available.

Wichtig

Die Optionen Eula, Billing und ApiKey müssen angegeben werden, um den Container auszuführen, andernfalls wird der Container nicht gestartet.The Eula, Billing, and ApiKey options must be specified to run the container or the container won't start. Weitere Informationen finden Sie unter Abrechnung.For more information, see Billing.

Ausführen mehrerer Container auf dem gleichen HostRun multiple containers on the same host

Wenn Sie beabsichtigen, mehrere Container mit offengelegten Ports auszuführen, stellen Sie sicher, dass jeder Container mit einem anderen offengelegten Port ausgeführt wird.If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. Führen Sie beispielsweise den ersten Container an Port 5000 und den zweiten Container an Port 5001 aus.For example, run the first container on port 5000 and the second container on port 5001.

Sie können diesen Container und einen anderen Azure Cognitive Services-Container zusammen auf dem Host ausführen.You can have this container and a different Azure Cognitive Services container running on the HOST together. Sie können auch mehrere Container desselben Cognitive Services-Containers ausführen.You also can have multiple containers of the same Cognitive Services container running.

Abfragen des Vorhersageendpunkts des ContainersQuery the container's prediction endpoint

Der Container stellt REST-basierte Endpunkt-APIs für die Abfragevorhersage bereit.The container provides REST-based query prediction endpoint APIs.

Verwenden Sie für Container-APIs den Host https://localhost:5000.Use the host, https://localhost:5000, for container APIs.

Überprüfen auf aktive ContainerValidate that a container is running

Es gibt mehrere Möglichkeiten zu überprüfen, ob ein Container aktiv ist.There are several ways to validate that the container is running.

AnforderungRequest ZweckPurpose
http://localhost:5000/ Der Container stellt eine Homepage bereit.The container provides a home page.
http://localhost:5000/status Anforderung mit GET, um zu überprüfen, ob der Container aktiv ist, ohne eine Endpunktabfrage zu verursachen.Requested with GET, to validate that the container is running without causing an endpoint query. Diese Anforderung kann für Live- und Bereitschaftstests von Kubernetes verwendet werden.This request can be used for Kubernetes liveness and readiness probes.
http://localhost:5000/swagger Der Container stellt eine umfassende Dokumentation für die Endpunkte sowie die Funktion Try it now bereit.The container provides a full set of documentation for the endpoints and a Try it now feature. Diese Funktion ermöglicht Ihnen die Eingabe Ihrer Einstellungen in einem webbasierten HTML-Formular, sodass Sie die Abfrage ausführen können, ohne Code schreiben zu müssen.With this feature, you can enter your settings into a web-based HTML form and make the query without having to write any code. Nach der Rückgabe der Abfrage wird ein cURL-Beispielbefehl bereitgestellt, der das erforderliche Format für HTTP-Header und -Text veranschaulicht.After the query returns, an example CURL command is provided to demonstrate the HTTP headers and body format that's required.

Homepage des Containers

Beenden des ContainersStop the container

Zum Herunterfahren des Containers drücken Sie in der Befehlszeilenumgebung, in der der Container ausgeführt wird, STRG+C.To shut down the container, in the command-line environment where the container is running, select Ctrl+C.

ProblembehandlungTroubleshooting

Wenn Sie den Container mit einer Ausgabenbereitstellung ausführen und die Protokollierung aktiviert ist, generiert der Container Protokolldateien. Diese sind hilfreich, um Probleme beim Starten oder Ausführen des Containers zu beheben.If you run the container with an output mount and logging is enabled, the container generates log files that are helpful to troubleshoot issues that happen while you start or run the container.

AbrechnungBilling

Der Container für die Gesichtserkennungs-API sendet Abrechnungsinformationen an Azure und verwendet dafür eine Ressource vom Typ „Gesichtserkennungs-API“ in Ihrem Azure-Konto.The Face API containers send billing information to Azure by using a Face API resource on your Azure account.

Abfragen des Containers werden mit dem Tarif der Azure-Ressource in Ressource gestellt, die für den <ApiKey> verwendet wird.Queries to the container are billed at the pricing tier of the Azure resource used for the <ApiKey>.

Für die Ausführung von Azure Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit dem Abrechnungsendpunkt verbunden sind.Azure Cognitive Services containers aren't licensed to run without being connected to the billing endpoint for metering. Sie müssen sicherstellen, dass die Container jederzeit Abrechnungsinformationen an den Abrechnungsendpunkt übermitteln können.You must enable the containers to communicate billing information with the billing endpoint at all times. Cognitive Services-Container senden keine Kundendaten (z. B. das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Herstellen einer Verbindung mit AzureConnect to Azure

Der Container benötigt die Abrechnungsargumentwerte, um ausgeführt werden zu können.The container needs the billing argument values to run. Diese Werte ermöglichen es dem Container, eine Verbindung mit dem Abrechnungsendpunkt herzustellen.These values allow the container to connect to the billing endpoint. Der Container meldet die Nutzung etwa alle 10 bis 15 Minuten.The container reports usage about every 10 to 15 minutes. Wenn der Container nicht innerhalb des zulässigen Zeitfensters eine Verbindung mit Azure herstellt, wird der Container weiterhin ausgeführt, verarbeitet aber keine Anfragen, bis der Abrechnungsendpunkt wiederhergestellt wurde.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. Es erfolgen 10 Verbindungsversuche im gleichen Zeitintervall von 10 bis 15 Minuten.The connection is attempted 10 times at the same time interval of 10 to 15 minutes. Wenn die Verbindung mit dem Abrechnungsendpunkt nicht innerhalb der 10 Versuche hergestellt werden kann, wird die Ausführung des Containers beendet.If it can't connect to the billing endpoint within the 10 tries, the container stops running.

AbrechnungsargumenteBilling arguments

Alle drei der folgenden Optionen müssen mit gültigen Werten angegeben werden, damit der Container mit dem Befehl docker run gestartet wird.All three of the following options must be specified with valid values in order for the docker run command to start the container.

OptionOption BESCHREIBUNGDescription
ApiKey Der API-Schlüssel der Cognitive Services-Ressource, der zum Nachverfolgen von Abrechnungsinformationen verwendet wird.The API key of the Cognitive Services resource used to track billing information.
Der Wert dieser Option muss für die bereitgestellte Ressource, die in Billing angegeben wurde, auf einen API-Schlüssel festgelegt werden.The value of this option must be set to an API key for the provisioned resource specified in Billing.
Billing Der Endpunkt der Cognitive Services-Ressource, der zum Nachzuverfolgen von Abrechnungsinformationen verwendet wird.The endpoint of the Cognitive Services resource used to track billing information.
Der Wert dieser Option muss auf den Endpunkt-URI einer bereitgestellten Azure-Ressource festgelegt werden.The value of this option must be set to the endpoint URI of a provisioned Azure resource.
Eula Gibt an, dass Sie die Lizenz für den Container akzeptiert haben.Indicates that you accepted the license for the container.
Der Wert dieser Option muss auf accept festgelegt werden.The value of this option must be set to accept.

Weitere Informationen zu diesen Optionen finden Sie unter Konfigurieren von Containern.For more information about these options, see Configure containers.

BlogbeiträgeBlog posts

EntwicklerbeispieleDeveloper samples

Beispiele für Entwickler finden Sie in unserem GitHub-Repository.Developer samples are available at our GitHub repository.

Anzeigen des WebinarsView webinar

Im Webinar erhalten Sie Informationen zu folgenden Aktionen:Join the webinar to learn about:

  • Bereitstellen von Cognitive Services auf einem beliebigen Computer mit DockerHow to deploy Cognitive Services to any machine using Docker
  • Bereitstellen von Cognitive Services in AKSHow to deploy Cognitive Services to AKS

ZusammenfassungSummary

In diesem Artikel haben Sie die Konzepte und den Workflow zum Herunterladen, Installieren und Ausführen von Containern für die Gesichtserkennungs-API kennengelernt.In this article, you learned concepts and workflow for how to download, install, and run Face API containers. Zusammenfassung:In summary:

  • Die Gesichtserkennungs-API stellt drei Linux-Container für Docker bereit, die die Schlüsselbegriffserkennung, Sprachenerkennung und Standpunktanalyse bereitstellen.The Face API provides three Linux containers for Docker that provide key phrase extraction, language detection, and sentiment analysis.
  • Containerimages werden aus Azure Container Registry heruntergeladen.Container images are downloaded from the Azure Container Registry.
  • Containerimages werden in Docker ausgeführt.Container images run in Docker.
  • Sie können entweder die REST-API oder das SDK verwenden, um Vorgänge in Containern für die Gesichtserkennungs-API über den Host-URI des Containers aufzurufen.You can use either the REST API or the SDK to call operations in Face API containers by specifying the host URI of the container.
  • Bei der Instanziierung eines Containers müssen Sie Abrechnungsinformationen angeben.You must specify billing information when you instantiate a container.

Wichtig

Für die Ausführung von Cognitive Services-Containern besteht keine Lizenz, wenn sie nicht zu Messzwecken mit Azure verbunden sind.Cognitive Services containers aren't licensed to run without being connected to Azure for metering. Kunden müssen sicherstellen, dass Container jederzeit Abrechnungsinformationen an den Messungsdienst übermitteln können.Customers must enable the containers to communicate billing information with the metering service at all times. Cognitive Services-Container senden keine Kundendaten (z. B. das analysierte Bild oder den analysierten Text) an Microsoft.Cognitive Services containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.

Nächste SchritteNext steps