Eelmises blogi postitus, kirjeldasime täielikku identiteedikontrolli lahendust ühes AWS-i piirkonnas. Lahenduses kasutatakse Amazon Rekognitsioon API-liidesed Tuvasta nägu näotuvastuseks ja Võrdle nägusid näo võrdlemiseks. Peame neid API-sid olekuta API-deks, kuna need ei sõltu Amazon Rekognitionist näokollektsioon. Need on ka idempotentsed, mis tähendab, et korduvad kõned samade parameetritega annavad sama tulemuse. Need pakuvad paindlikke valikuid piltide edastamiseks kas läbi Amazoni lihtne salvestusteenus (Amazon S3) asukoht või töötlemata baidid.
Selles postituses keskendume sellele Amazoni tuvastamise pilt olekuta API-sid ja arutage kahte võimalust piltide edastamiseks ja seda, millal süsteemiarhitektuuri vaatenurgast üks teisele valida. Seejärel arutame, kuidas kodakondsuseta API-sid skaleerida, et ületada mõned piirkondlikud piirangud. Skaleeritavusest rääkides viitame sageli maksimaalsele tehingute arvule sekundis (TPS), millega lahendus hakkama saab. Näiteks kui korraldate suurt sündmust, mis kasutab nägude või objektide siltide tuvastamiseks arvutinägemist, võite kohata liikluse hüppeid ja te ei soovi, et süsteem pidurdaks. See tähendab, et mõnikord peate suurendama TPS-i ja ületama isegi Amazon Rekognition API-de piirkondliku teenusekvoodi. See postitus pakub välja lahenduse kodakondsuseta API-de TPS-i suurendamiseks, kasutades mitut piirkonda.
Amazon Rekognitioni olekuta API-d
Saadaolevatest Amazon Rekognition Image API-dest Võrdle nägusid, Tuvasta nägu, Tuvasta sildid, DetectModeration Labels, DetectProtectiveEquipment, Tuvasta tekstja Tunne ära kuulsused on kodakondsuseta. Need pakuvad piltide edastamiseks nii Amazon S3 kui ka töötlemata baitide valikuid. Näiteks päringu süntaksis DetectFaces
API, on kaks võimalust edasi minna Image
väli: Bytes
or S3Object
.
Kui kasutate S3Object
valiku korral on tüüpiline arhitektuur järgmine.
Sellel lahendusel on järgmine töövoog:
- Kliendirakendus pääseb juurde veebilehele, mida hostib AWS võimendus.
- Kliendirakendus on autentitud ja volitatud Amazon Cognito.
- Kliendirakendus laadib pildi üles S3 ämbrisse.
- Amazon S3 käivitab an AWS Lambda funktsioon Amazon Rekognitioni helistamiseks.
- Lambda funktsioon kutsub Amazon Rekognition API-sid valikuga S3Object.
- Lambda funktsioon säilitab tulemuse kuni an Amazon DynamoDB tabelis.
Vali S3Object
valik järgmistel stsenaariumidel:
- Pilt on kas PNG- või JPEG-vormingus fail
- Juurutate kogu virna samas piirkonnas, kus Amazon Rekognition on saadaval
- Amazon Rekognition API piirkondlik teenusekvoot vastab teie süsteeminõuetele
Kui te ei vasta kõigile neile nõuetele, peaksite valima Bytes
valik.
Kasutage Amazon Rekognitioni olekuta API-sid teises piirkonnas
Üks näide selle kasutamisest Bytes
valik on siis, kui soovite oma kasutusjuhtu juurutada piirkonnas, kus Amazon Rekognition pole üldiselt saadaval, näiteks kui teil on kliente Lõuna-Ameerikas (sa-east-1
) Piirkond. Andmeresidentsuse jaoks peab S3-salv, mida kasutate kasutajate piltide salvestamiseks, olema sees sa-east-1
, kuid soovite oma lahendusena kasutada Amazon Rekognitioni, kuigi see pole riigis üldiselt saadaval sa-east-1
. Üks lahendus on kasutada Bytes
võimalus helistada Amazon Rekognitionile teises piirkonnas, kus Amazon Rekognition on saadaval, näiteks us-east-1
. Järgmine diagramm illustreerib seda arhitektuuri.
Pärast Lambda funktsiooni käivitamist (samm 4) peab funktsioon Amazon Rekognitionile otse pildi S3 asukohaga helistamise asemel pildi S3 ämbrist hankima (samm 5), seejärel helistama Amazon Rekognitionile koos pildi töötlemata baitidega (samm 6). Järgmine on Lambda funktsiooni koodilõik:
Pange tähele, et eelnev koodilõik töötab otse JPEG- või PNG-vormingus. Teiste pildivormingute (nt BMP) puhul on vaja täiendavat pilditöötlust, et see enne Amazon Rekognitioni saatmist JPEG- või PNG-baitideks teisendada. Järgmine kood teisendab BMP JPEG baitideks:
Suurendage olekuta API-de TPS-i, levitades API kutsed mitmesse piirkonda
Teine kasutusjuhtum Bytes
võimalus on see, et saate olekuta API-de TPS-i suurendada, levitades API-kutsed mitmesse piirkonda. Nii ei piira teid API piirkondlik teenusekvoot, kuna saate teistest piirkondadest saada täiendavat TPS-i.
Järgmises näites luuakse Lambda funktsioon Amazon Rekognitioni kutsumiseks DetectLabels
API koos Bytes
valik. Maksimaalse TPS-i suurendamiseks saate API-kutsed jaotada kaaludega mitmesse piirkonda. Maksimaalne saavutatav TPS arvutatakse järgmiselt: min(regioon_1_max_tps/region_1_weight, region_2_max_tps/region_2_weight, … region_n_max_tps/region_n_weight). Järgmine näide kasutab us-east-1
ja us-west-2
Piirkonnad.
Koodilõik helistamiseks DetectLabels
API on järgmine:
Sest us-east-1
ja us-west-2
mõlemal on Amazon Rekognition DetectFaces API jaoks maksimaalselt 50 TPS-i, saate keskkonnamuutuja määramisega API-kutseid ühtlaselt jaotada kaaluga 50/50 REGION_1_TRAFFIC_PERCENTAGE
50-ni. Nii saate teoreetiliselt saavutada min(50/50%, 50/50%) = 100 TPS.
Idee kinnitamiseks eksponeeritakse Lambda funktsioon REST API-na koos Amazon API värav. siis JMeter kasutatakse API laadimise testimiseks.
REGION_1_TRAFFIC_PERCENTAGE
on esmalt seatud väärtusele 100, niimoodi kõik DetectFaces
API-kõned saadetakse aadressile us-east-1
ainult. Teoreetiliselt on maksimaalne saavutatav TPS piiratud teenusekvootiga us-east-1
, mis on 50 TPS. Laadige test kohandatud API lõpp-punktis, alustades 50 samaaegsest lõimest, lisades järk-järgult 5 lõime, kuni ProvisionedThroughputExceededException
Amazon Rekognitionist tagastatud on täheldatud.
REGION_1_TRAFFIC_PERCENTAGE
on siis seatud väärtusele 50, niimoodi kõik DetectLabels
API-kõned saadetakse ühtlaselt aadressile us-east-1
ja us-west-2
. Teoreetiliselt on maksimaalne saavutatav TPS kahe piirkonna kombineeritud teenusekvoot, mis on 100 TPS. Alustage koormustesti uuesti 100 keermest, et leida maksimaalne TPS.
Järgmine tabel võtab kokku koormustesti tulemused.
DetectLabelsi API-kõnede protsent aadressile us-east-1 | DetectLabelsi API-kõnede protsent aadressile us-west-2 | Maksimaalne TPS teoorias | Maksimaalne samaaegne töö ilma ProvisionedThroughputExceededException |
100 | 0 | 50 | 70 |
50 | 50 | 100 | 145 |
Järeldus
Paljud kliendid kasutavad Amazon Rekognition Image olekuta API-sid erinevateks kasutusjuhtudeks, sealhulgas identiteedi kinnitamiseks, sisu modereerimiseks, meediumitöötluseks ja muuks. Selles postituses käsitleti kahte piltide edastamise võimalust ja seda, kuidas kasutada töötlemata baitide valikut järgmistel kasutusjuhtudel:
- Amazon Rekognition Piirkondlik kättesaadavus
- Kliendiandmete elukoht
- Amazon Rekognitioni kodakondsuseta API-de TPS-i suurendamine
Vaadake, kuidas Amazon Rekognitionit kasutatakse erinevad arvutinägemise kasutusjuhtumid ja alustage oma innovatsiooniteekonda.
Autoritest
Sharon Li on lahenduste arhitekt AWS-is, mis asub Bostonis, MA piirkonnas. Ta töötab äriklientidega, aidates neil lahendada keerulisi probleeme ja arendada AWS-i. Väljaspool tööd meeldib talle perega aega veeta ja kohalikke restorane uudistada.
Vaibhav Shah on AWS-i vanemlahenduste arhitekt ja talle meeldib aidata oma kliente kõiges pilves ja võimaldada nende pilve kasutuselevõttu. Väljaspool tööd armastab ta reisida, avastada uusi kohti ja restorane, süüa teha, jälgida selliseid spordialasid nagu kriket ja jalgpall, vaadata filme ja sarju (Marveli fänn) ning seikluslikke tegevusi, nagu matkamine, langevarjuhüpped, ja seda loetelu jätkub.
- Täpsem (300)
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazon Rekognitsioon
- tehisintellekti
- tehisintellekti sertifikaat
- tehisintellekt panganduses
- tehisintellekti robot
- tehisintellekti robotid
- tehisintellekti tarkvara
- AWS-i masinõpe
- blockchain
- plokiahela konverents ai
- coingenius
- vestluslik tehisintellekt
- krüptokonverents ai
- dall's
- sügav õpe
- google ai
- masinõpe
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- süntaks
- Tehniline juhend
- sephyrnet