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
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 .
Un par de segundos despuƩs, la imagen esta compilada y disponible en la store local
docker image ls
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’
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’
Happy coding!
Greetings @ Burlington
El Bruno
References
My Posts
- Object recognition with Custom Vision and ONNX in Windows applications using WinML (1)
- Object recognition with Custom Vision and ONNX in Windows applications using WinML (2)
- Object recognition with Custom Vision and ONNX in Windows applications using Windows ML, drawing frames (3)
- Object recognition with Custom Vision and ONNX in Windows applications using Windows ML, calculate FPS (4)
- Canāt install Docker on Windows 10 Home, need Pro or Enterprise (5)
Windows 10 and YOLOV2 for Object Detection Series
- Introduction to YoloV2 for object detection
- Create a basic Windows10 App and use YoloV2 in the camera for object detection
- Transform YoloV2 output analysis to C# classes and display them in frames
- Resize YoloV2 output to support multiple formats and process and display frames per second
- How to convert Tiny-YoloV3 model in CoreML format to ONNX and use it in a Windows 10 App
- Updated demo using Tiny YOLO V2 1.2, Windows 10 and YOLOV2 for Object Detection Series
- Alternatives to Yolo for object detection in ONNX format