簡體   English   中英

如何在 Docker 容器中運行基於 TensorFlow 2 的應用程序?

[英]How to run an application based on TensorFlow 2 in Docker container?

我對 TensorFlow 比較陌生,所以我一直在嘗試在本地運行簡單的應用程序,一切都很順利。
在某個時候,我想 Dockerize 我的應用程序。 構建 Docker 映像沒有任何錯誤,但是,當我嘗試運行我的應用程序時,我收到以下錯誤:

AttributeError: module 'tensorflow' has no attribute 'gfile'. Did you mean: 'fill'?
  • 在谷歌上搜索了這個問題后,我了解到這是由 TF1 和 TF2 之間的版本差異引起的。 關於我發現的問題的解釋之一是在這里找到。

  • 在本地,我在虛擬環境中使用 TF2(特別是2.9.1 )。

  • 在 dockerizing 時,我還從 docker 容器內部確認我的 TF 版本是相同的。

  • 我還嘗試在交互模式下運行容器,創建虛擬環境,並手動安裝所有依賴項,與我在本地執行的方式完全相同,但仍然沒有成功。

我的 Dockerfile 如下:

FROM python:3-slim

# ENV VIRTUAL_ENV=/opt/venv
# RUN python3 -m venv $VIRTUAL_ENV
# ENV PATH="$VIRTUAL_ENV/bin:$PATH"

WORKDIR /objectDetector

RUN apt-get update
RUN apt-get install -y protobuf-compiler
RUN apt-get install ffmpeg libsm6 libxext6  -y

RUN pip3 install update && python3 -m pip install --upgrade pip
RUN pip3 install tensorflow==2.9.1
RUN pip3 install tensorflow-object-detection-api
RUN pip3 install opencv-python
RUN pip3 install opencv-contrib-python

COPY detect_objects.py .
COPY detector.py .
COPY helloWorld.py .

ADD data data /objectDetector/data/
ADD models /objectDetector/models/ 

所以我的問題是:如何使用 docker 容器中的 TensorFlow 2 運行應用程序? 我在這里錯過了什么嗎?

提前感謝您的任何幫助或解釋。

我相信在 tensorflow 2.0 中: tf.gfile被替換為tf.io.gfile

你能試試這個嗎?

祝你今天過得愉快,

加布里埃爾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM