基本映像满足tensorflow版本,但docker仍然从requirements.txt下载tensorflow

时间:2020-08-21 20:46:42

标签: python docker tensorflow dockerfile

我有一个如下的Dockerfile:

FROM tensorflow/tensorflow:1.13.2-gpu-py3
COPY src/ /

WORKDIR /Mask_RCNN
RUN pip install --upgrade pip setuptools wheel
RUN pip install -r requirements.txt
RUN pip install .
RUN pip install slidingwindow

ENTRYPOINT ["python3","/Mask_RCNN/inference_docker.py"]

和类似这样的需求文件:

numpy
scipy
Pillow
cython
matplotlib
tensorflow>=1.3.0
scikit-image
opencv-python
h5py
imgaug
IPython[all]

因此拉tf 1.13.2可以满足tensorflow>=1.3.0的要求,但是在创建映像时,docker尝试按照tf=2.3中的说明下载最新的requirements.txt。但是,此行为破坏了我的代码,因为它只能在tf>1.3 and tf<2上运行。我应该通过删除requirements.txt来修改tensorflow>=1.3.0,还是有任何命令可以避免这种冲突?

1 个答案:

答案 0 :(得分:0)

如果您在Tensorflow上查看DockerFile,您会发现Tensorflow Docker映像是installing Tensorflow by pip在Ubuntu之上构建的。如果您使用更高版本的TensorFlow> = 1.3重新安装TensorFlow。它将为您下载最新版本,即tensorflow 2.3。因此,从您的需求文件中删除tensorflow,否则它将始终被最新版本覆盖。