如何在tensorflow docker images中使用python3.6。
我尝试过的所有图像(最新的,晚安的)都使用python3.5,并且我不想修改所有脚本。
答案 0 :(得分:1)
Tensorflow映像基于Ubuntu 16.04,如您从Dockerfile所见。此版本标配Python 3.5。
因此,即使您需要使用parameterized_docker_build.sh
脚本进行实际构建,也必须重新构建映像,并且Dockerfile需要进行编辑。
This answer on ask Ubuntu介绍了如何在Ubuntu 16.04上获取Python 3.6
最简单的方法可能只是将Dockerfile中的From行更改为FROM ubuntu:16.10
,并将初始python
行中的python3.6
更改为apt-get install
当然,这可能会破坏某些其他Ubuntu版本特定的功能,因此一种替代方法是保留Ubuntu 16.04并安装链接的答案中也列出的替代ppa之一:
RUN add-apt-repository ppa:deadsnakes/ppa &&
apt-get update &&
apt-get install -y python3.6
apt-get install
之后使用它,因为这会安装software-properties-common
,您需要添加ppa。David Zarebski的回答很明确。您确定要使用Python 3.6吗?
答案 1 :(得分:1)
您可以使用第三方提供的稳定图像,例如ufoym/deepo。
可以使用here找到适合TensorFlow,python3.6和cuda10的版本,也可以使用命令docker pull ufoym/deepo:py36-cu100
我一直在使用他们的图像,从未遇到问题
答案 2 :(得分:0)
也许我创建的图像可以为您提供帮助。它基于cuda-10.0-devel映像并且安装了tensorflow 2.0a-gpu。
您可以将其用作自己的实现的基础映像。图像本身不执行任何操作。我将图像放在dockerhub https://cloud.docker.com/repository/docker/patientzero/tensorflow2.0a-gpu-py3.6
上github仓库位于此处:https://github.com/patientzero/tensorflow2.0-python3.6-Docker
拉它并不会做很多事情,但是为了完整性:
$ docker pull patientzero/tensorflow2.0-gpu-py3.6
edit:更改为常规tensorflow 2.0x图像。 同样如here所述,测试版2.0的正式映像现在带有python 3.6支持
答案 3 :(得分:0)
有了这个答案,我只想说明如何解决此问题(SiHa的先前答案对我有很大帮助,但我必须添加一些步骤才能完全起作用)。
上下文:
我正在使用一个需要unet++
和tensorflow==1.4.0
的软件包(keras==2.2.2
的细分模型)。
我尝试将docker映像用于tensorflow 1.4.0
,但是此映像的python默认版本为3.5
,与我的软件包不兼容。
由于以下文件,我设法在docker映像上安装了python3.6
:
我的Dockerfile包含以下几行:
Dockerfile:
FROM tensorflow/tensorflow:1.4.0-gpu-py3
RUN mkdir /AI_PLATFORM
WORKDIR /AI_PLATFORM
COPY ./install.sh ./install.sh
COPY ./requirements.txt ./requirements.txt
COPY ./computer_vision ./computer_vision
COPY ./config.ini ./config.ini
RUN bash install.sh
Install.sh:
#!/urs/bin/env bash
pip install --upgrade pip
apt-get update
apt-get install -y python3-pip
add-apt-repository ppa:deadsnakes/ppa &&
apt-get update &&
apt-get install python3.6 --assume-yes
apt-get install libpython3.6
python3.6 -m pip install --upgrade pip
python3.6 -m pip install -r requirements.txt
三件事很重要:
python3.6 -m pip
代替pip
,否则将软件包安装在python 3.5
默认版本的Ubuntu 16.04
docker run python3.6 <command>
与python==3.6
运行容器h5py==2.10.0
tensorflow-gpu==1.4.1
keras==2.2.2
keras-applications==1.0.4
keras-preprocessing==1.0.2
我希望这个答案会有用