Je veux que mon conteneur Docker utilise tensorflow lite (tflite) dans un script en python. Mon Dockerfile ressemble à ceci :
FROM arm32v7/python:3.7-slim-buster
COPY model.tflite /
COPY docker_tflite.py /
COPY numpy-1.20.2-cp37-cp37m-linux_armv7l.whl /
RUN apt-get update \
&& apt-get -y install libatlas-base-dev
RUN pip install numpy-1.20.2-cp37-cp37m-linux_armv7l.whl \
&& pip install --no-build-isolation --extra-index-url https://google-coral.github.io/py-repo/ tflite_runtime
CMD ["python", "docker_tflite.py"]
Le conteneur Docker est trop gros pour mon microcontrôleur (197 Mo). Y a-t-il un moyen de le réduire ?
UPDATE :
Suite à la réponse d'Itamar, j'ai ajusté mon Dockerfile :
FROM arm32v7/python:3.7-slim-buster as dev
COPY model.tflite /
COPY docker_tflite.py /
COPY numpy-1.20.2-cp37-cp37m-linux_armv7l.whl /
RUN apt-get update \
&& apt-get -y install libatlas-base-dev
RUN pip install --user numpy-1.20.2-cp37-cp37m-linux_armv7l.whl \
&& pip install --user --no-build-isolation --extra-index-url https://google-coral.github.io/py-repo/ tflite_runtime
FROM arm32v7/python:3.7-slim-buster as runtime
COPY model.tflite /
COPY docker_tflite.py /
COPY --from=dev /root/.local /root/.local
RUN apt-get update \
&& apt-get -y install libatlas-base-dev
CMD ["python", "docker_tflite.py"]
Entre-temps, le conteneur Docker est à 179 Mo, ce qui est déjà un progrès, merci beaucoup. Y a-t-il encore un potentiel d'optimisation dans mon Dockerfile, par exemple dans les déclarations apt-get ?