#CustomVision – Utilizando un proyecto Custom Vision en un #Docker Container local

Buenas !

Ahora que ya tengo en funcionamiento Docker en Windows 10 es tiempo de exportar un proyecto de CustomVision y ejecutarlo dentro de un container.

Cuando exportamos hay 2 version disponibles: Linux or Windows

00 CV exported to docker

En mi caso no pude compilar la versión de Windows, asi que trabajare con la versión de Linux. El zip que descargamos tiene varios archivos, como el DockerFile con la definición del container, el modelo de ML, los archivos python para leer y realizar análisis de imagenes y varios archivos mas.

FROM python:3.5

ADD app /app

RUN pip install –upgrade pip
RUN pip install -r /app/requirements.txt

# Expose the port
EXPOSE 80

# Set the working directory
WORKDIR /app

# Run the flask server for the endpoints
CMD python app.py

Esta imagen utiliza Python 3.5, y el comando para compilar la imagen es

docker build -t elbruno/cvmarvel:3.0 .

05 CV docker build image in windows

Un par de segundos después, la imagen esta compilada y disponible en la store local

docker image ls

07 Docker local images

Ahora que se mi IMAGE ID, ya puedo iniciar la ejecución de la imagen. En este caso, utilizare el puerto 8080

docker run -p 127.0.0.1:8080:80 -d ddd1623ee694

En este ejemplo utilizare PowerShell y el comando Invoke-WebRequest para realizar una petición HTTP Post con una imagen

Invoke-WebRequest -uri “http://127.0.0.1:8080/image” -Method Post -Infile “D:\docker\test01.jpg” -ContentType ‘image/jpg’

06 CV running and testing an image on docker

El resultado detecta una imagen, sin embargo no tengo todo el resultado Json disponible. Para esto, agregare un archivo de salida en la petición para guardar en el mismo el resultado del análisis de la imagen. Ahora ya puedo ver que detecta Iron Fist y a Venom!

Invoke-WebRequest -uri “http://127.0.0.1:8080/image” -Method Post -Infile “D:\docker\test01.jpg” -Outfile “D:\docker\result.json” -ContentType ‘image/jpg’

08 docker results in visual studio code

Happy coding!

Greetings @ Burlington

El Bruno

References

My Posts

Windows 10 and YOLOV2 for Object Detection Series

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.