gpt4 book ai didi

python - Docker:无法安装Tensorflow和numpy

转载 作者:行者123 更新时间:2023-12-02 20:57:43 24 4
gpt4 key购买 nike

如何在Docker镜像中安装Numpy和tensorflow?

我正在尝试创建此简单Flask应用程序的图像:

import numpy as np
import tensorflow as tf

from flask import Flask, jsonify

print(tf.__version__)

with open('../assets/model/v1/model_architecture_V1.json', 'r') as f:
model_json = f.read()

model = tf.keras.models.model_from_json(model_json)

model.load_weights("../assets/model/v1/model_weight_V1.h5")

app = Flask(__name__)

@app.route("/api/v1", methods=["GET"])
def getPrediction():

prediction = model.predict()

return jsonify({"Fe": 3123 })

if __name__ == '__main__':
app.run(host='0.0.0.0', port=4000, debug=True)

这是我的DockerFile
FROM alpine:3.10

RUN apk add --no-cache python3-dev \
&& pip3 install --upgrade pip

WORKDIR /app

COPY . /app

RUN pip3 --no-cache-dir install -r requirements.txt

CMD ["python3","src/app.py"]

这是我的requirements.txt:
Flask==1.1.2
numpy==1.18.1
tensorflow==2.0.0

当我构建镜像时,Docker会引发一个错误,指出无法找到tensorflow和numpy。

错误:

enter image description here

enter image description here

最佳答案

这里的问题似乎缺少从.whl文件构建软件包的库。
当为python创建Docker镜像时,其中包括诸如tensorflow这样的繁重的库,我建议您使用官方的Debian镜像。

请使用Debian-Buster查看以下Dockerfile:

FROM python:3.7.5-buster
RUN echo \
&& apt-get update \
&& apt-get --yes install apt-file \
&& apt-file update
RUN echo \
&& apt-get --yes install build-essential
ARG USER=nobody
RUN usermod -aG sudo $USER
RUN pip3 install --upgrade pip
COPY . /app
WORKDIR /app
RUN pip3 --no-cache-dir install -r requirements.txt
USER $USER
# Using 4000 here as you used 4000 in the code. Flask has a default of 5000
EXPOSE 4000
ENTRYPOINT ["python"]
CMD ["app/app.py"]

我使用以下命令来构建和运行docker镜像,并在 http://0.0.0.0:4000/api/v1上获得了结果
docker build -t tfdocker:v1 . 
docker run -p 4000:4000 -t tfdocker:v1

供引用:
这是我的目录结构:
├── Dockerfile
├── app
│ └── app.py
└── requirements.txt

1 directory, 3 files
requirements.txt的内容为:
Flask==1.1.2
numpy==1.18.4
tensorflow==2.2.0

希望这可以帮助!

关于python - Docker:无法安装Tensorflow和numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62089486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com