diff --git a/Dockerfile b/Dockerfile index 92b6b5b..f21c056 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,16 @@ -FROM python:3.7.16 -ENV PYTHONUNBUFFERED 1 -RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list -RUN cat /etc/apt/sources.list -RUN apt-get update \ - && apt-get install -y make \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +FROM nvcr.io/nvidia/l4t-tensorflow:r32.6.1-tf2.5-py3 +RUN apt-get install make g++ gcc +RUN pip3 install gunicorn +RUN pip3 install setuptools==46.1.3 +#RUN pip3 install flask numpy Pillow six matplotlib RUN mkdir -p /app WORKDIR /app + COPY requirements.txt /app -RUN python -m venv . -RUN pip install pip==23.0.1 -RUN pip install setuptools==46.1.3 -RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ +RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ + COPY ./app /app EXPOSE 5000 -CMD ["gunicorn", "--bind", ":5000", "server:app"] \ No newline at end of file +CMD ["gunicorn", "--bind", ":5000", "server:app"] + + diff --git a/Dockerfile_bak b/Dockerfile_bak new file mode 100644 index 0000000..25c9de5 --- /dev/null +++ b/Dockerfile_bak @@ -0,0 +1,18 @@ +FROM python:3.7.16 +ENV PYTHONUNBUFFERED 1 +# RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list +# RUN cat /etc/apt/sources.list +# RUN apt-get update \ +# && apt-get install -y make \ +# && apt-get clean \ +# && rm -rf /var/lib/apt/lists/* +RUN mkdir -p /app +WORKDIR /app +COPY requirements.txt /app +RUN python -m venv . +# RUN pip install pip==23.0.1 +RUN pip install setuptools==46.1.3 +RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ +COPY ./app /app +EXPOSE 5000 +CMD ["gunicorn", "--bind", ":5000", "server:app"] diff --git a/app/visualization_utils.py b/app/visualization_utils.py index 91c98f9..00d26c1 100644 --- a/app/visualization_utils.py +++ b/app/visualization_utils.py @@ -20,10 +20,10 @@ The functions do not return a value, instead they modify the image itself. import abc import collections # Set headless-friendly backend. -import matplotlib; +# import matplotlib; -matplotlib.use('Agg') # pylint: disable=multiple-statements -import matplotlib.pyplot as plt # pylint: disable=g-import-not-at-top +# matplotlib.use('Agg') # pylint: disable=multiple-statements +# import matplotlib.pyplot as plt # pylint: disable=g-import-not-at-top import numpy as np import PIL.Image as Image import PIL.ImageColor as ImageColor diff --git a/build.sh b/build.sh index cd46bcb..84bca44 100755 --- a/build.sh +++ b/build.sh @@ -1,3 +1,3 @@ # /usr/bash -docker build --tag hpds-road-detection . +docker build --tag hpds-road-detection:1.0.0 . diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2526ba2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3.6" +services: + hpds-python-model: + container_name: hpds-road-detection-model + image: hpds-road-detection:1.0.0 + networks: + - hpds-network + restart: always + ports: + - 8000:5000 + volumes: + - /usr/local/cuda/lib64:/usr/local/cuda/lib64 + +networks: + hpds-network: + driver: bridge + name: hpds-network diff --git a/requirements.txt b/requirements.txt index 896c5b3..5797356 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ Flask==1.1.2 -matplotlib==3.2.1 numpy==1.18.4 Pillow==7.1.2 six==1.15.0 -tensorflow==2.2.0 +