Creación De Una Función Lambda Para Ver El Flujo Del Proyecto - AWS DeepLens Guia

Tabla de contenido
Creación de una función Lambda para ver el flujo del
proyecto
Para ver la transmisión del proyecto, necesita una función de AWS Lambda que interactúe con la
transmisión mjpeg en su dispositivo y el modelo de aprendizaje profundo. Para los proyectos de muestra
incluidos conAWS DeepLensEl código se incluye en la función Lambda de inferencia para el proyecto.
Para sus proyectos personalizados, tendrá que crear una función Lambda que realiza esta tarea.
Cree una función Lambda para sus proyectos personalizados
Añada el siguiente código de muestra a sus proyectos y cambie el nombre de modelo y las dimensiones,
según corresponda. https://docs.aws.amazon.com/deeplens/latest/dg/
import os
import greengrasssdk
from threading import Timer
import time
import awscam
import cv2
from threading import Thread
# Create an AWS Greengrass core SDK client.
client = greengrasssdk.client('iot-data')
# The information exchanged between AWS IoT and the AWS Cloud has
# a topic and a message body.
# This is the topic that this code uses to send messages to the Cloud.
iotTopic = '$aws/things/{}/infer'.format(os.environ['AWS_IOT_THING_NAME'])
_, frame = awscam.getLastFrame()
_,jpeg = cv2.imencode('.jpg', frame)
Write_To_FIFO = True
class FIFO_Thread(Thread):
def __init__(self):
''' Constructor. '''
Thread.__init__(self)
def run(self):
fifo_path = "/tmp/results.mjpeg"
if not os.path.exists(fifo_path):
os.mkfifo(fifo_path)
f = open(fifo_path,'w')
client.publish(topic=iotTopic, payload="Opened Pipe")
while Write_To_FIFO:
try:
f.write(jpeg.tobytes())
except IOError as e:
continue
def greengrass_infinite_infer_run():
try:
modelPath = "/opt/awscam/artifacts/mxnet_deploy_ssd_resnet50_300_FP16_FUSED.xml"
modelType = "ssd"
input_width = 300
input_height = 300
max_threshold = 0.25
outMap = ({ 1: 'aeroplane', 2: 'bicycle', 3: 'bird', 4: 'boat',
5: 'bottle', 6: 'bus', 7 : 'car', 8 : 'cat',
9 : 'chair', 10 : 'cow', 11 : 'dining table',
12 : 'dog', 13 : 'horse', 14 : 'motorbike',
15 : 'person', 16 : 'pottedplant', 17 : 'sheep',
18 : 'sofa', 19 : 'train', 20 : 'tvmonitor' })
AWS DeepLens Guía para desarrolladores
Creación de una función Lambda
para ver el flujo del proyecto
60
Tabla de contenido
loading

Tabla de contenido