用docker配置tensorflow1.12.0的开发环境


前言

TensorFlow 1.x仍然是一个成熟的深度学习框架,拥有广泛的应用和强大的社区支持。虽然TensorFlow 2.0已经发布,但很多用户对于其新特性还不熟悉,仍在使用老版本来完成自己的项目。此外,一些旧代码可能仅适用于TensorFlow 1.x版本,因此仍需要维护和更新。总之,TensorFlow 1.x仍然是一个重要的深度学习工具,在未来一段时间内将继续得到广泛的使用。

作为AI语言库的代表,TensorFlow是人工智能领域的重要工具之一,其使用方式比较复杂,安装时也可能会遇到各种问题。以下是一些可能遇到的困难及解决方法:

  1. 安装环境不兼容:TensorFlow需要特定版本的Python和相关依赖库,如果你没有正确安装这些组件,那么TensorFlow将无法正常工作。解决方法是确保你的Python版本在2.7.x或3.4+之间,并且安装了必要的依赖库。
  2. 缺失依赖库:除了Python以外,TensorFlow还需要许多其他库来运行。如果你缺少其中任何一个库,TensorFlow都无法正常工作。解决方法是安装所需的所有依赖库,并确保它们都被正确地配置。
  3. 安装失败:如果TensorFlow安装过程中出现错误,你需要仔细检查日志以找到问题所在。通常情况下,你可以通过重新运行安装程序来解决此问题。在重新运行安装程序之前,请确保删除之前安装的任何TensorFlow文件。
  4. 版本不匹配:如果你正在使用旧版本的TensorFlow,但尝试使用新代码,则可能会出现版本不匹配的问题。确保你正在使用与你的代码兼容的最新版本的TensorFlow。

因此,我们尝试用docker封装tensorflow1。

配置方法和问题

方法一,直接下载tensorflow/tensorflow镜像

docker pull tensorflow/tensorflow:1.15.5-gpu-py3 
  • 这个镜像是dockerhub上的,可以在Dockerfile构建时使用pip安装python库,但是使用apt安装时会报错,原因不明。
  • 可以docker exec -it bash运行,也可以用pycharm构建docker解释器运行。
  • 如果要和tensorlayer共用,要特别注意版本匹配问题
  • opencv版本高了容易报找不到库的错,装3.4.8.29版本没有问题。

Dockerfile

# 针对srgan项目
FROM tensorflow/tensorflow:1.15.5-gpu-py3
LABEL author=xxx \
        version=0 \
        description='xxx'
RUN pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple \
  && pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple \
  && pip install easydict -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install tensorlayer==1.11.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install opencv-contrib-python==3.4.8.29 -i https://pypi.tuna.tsinghua.edu.cn/simple \
    && pip install opencv-contrib-python-headless==3.4.8.29 -i https://pypi.tuna.tsinghua.edu.cn/simple \
    && pip install opencv-python==3.4.8.29 -i https://pypi.tuna.tsinghua.edu.cn/simple
#opencv版本高了容易报找不到库的错,但是以下两个解决方法不能用
#RUN apt update && apt install -qqy libgl1
#RUN apt install -qqy libglib2.0-dev

方法二(推荐),用nvidia/cuda镜像从头安装

特别注意,cuda版本不能太高

  1. 拉取原始镜像
  2. 通过Dockerfile构建
  3. conda安装python3.6虚拟环境,conda create -n xxx python=3.6
  4. 激活虚拟环境,conda activate xxx
  5. pip安装
# 版本特别重要
pip install tensorflow-gpu==1.12.0
pip install tensorlayer==1.11.1
pip install opencv-python==3.4.8.29

注意

  1. python版本不能高
  2. cuda版本就选9.0,9.1都报错,提示就找9.0的库
  3. 注意降低numpy的版本,使tensorflow和tensorlayer都适用。
  4. 曾经试过tensorflow1.12.3,运行时有较长的时间卡住,改为1.12.0问题解决。
docker pull nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04  

Dockerfile

FROM nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
LABEL author=xxx \
        version=0 \
        description='xxx'

# #  change resource 换清华源
RUN sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list       
    
# apt install
RUN apt-get clean && apt-get update --fix-missing && apt-get upgrade -y 

RUN apt install -y  wget curl openssh-server  vim g++ zip sudo git net-tools iputils-ping \
    && apt-get autoclean  \
    && apt-get autoremove

# ssh
# 修改ssh配置文件,文件位置/etc/ssh/sshd_config,添加允许所有主机连接,
RUN mkdir -p /var/run/sshd \
        && sed -i '1iPermitRootLogin yes' /etc/ssh/sshd_config
# 开放22端口
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]

# 设置root密码
RUN echo "root:0"|chpasswd

# 安装miniconda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda.sh \
    && /bin/bash conda.sh -b -p /opt/conda \
    && rm conda.sh
    # && /opt/conda/bin/conda clean -tipsy

# root config
RUN mkdir ~/.pip \
&& echo '[global]\n\
index-url=https://pypi.tuna.tsinghua.edu.cn/simple\n\
[install]\n\
trusted-host=pypi.tuna.tsinghua.edu.cn\n'>>~/.pip/pip.conf

RUN echo '\n\
__conda_setup="$('/opt/conda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"\n\
if [ $? -eq 0 ]; then\n\
    eval "$__conda_setup"\n\
else\n\
    if [ -f "/opt/conda/etc/profile.d/conda.sh" ]; then\n\
        . "/opt/conda/etc/profile.d/conda.sh"\n\
    else\n\
        export PATH="/opt/conda/bin:$PATH"\n\
    fi\n\
fi\n\
unset __conda_setup\n'\
 >> ~/.bashrc 
# 配置cuda环境变量
RUN echo '\n\
export PATH=/usr/local/cuda/bin:$PATH\n\
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH\n'>> ~/.bashrc


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好,以下是tensorflow1.12.镜像安装的步骤: 1. 打开终端,输入以下命令下载tensorflow1.12.镜像: ``` docker pull tensorflow/tensorflow:1.12. ``` 2. 等待下载完成后,输入以下命令启动tensorflow1.12.镜像: ``` docker run -it tensorflow/tensorflow:1.12. ``` 3. 等待镜像启动后,即可在终端中使用tensorflow1.12.。 希望对您有帮助! ### 回答2: Tensorflow是由Google开发的一款强大的机器学习框架,可以用来创建神经网络和开展深度学习项目。相对于手动编写机器学习代码,使用Tensorflow可以让开发者更高效地构建和优化神经网络模型。在Tensorflow中,1.12.0版本是相对较旧的版本,但是仍然有很多开发者喜欢使用它。以下是关于使用Docker安装Tensorflow 1.12.0镜像的步骤: 第一步:安装Docker 要使用Docker安装Tensorflow 1.12.0镜像,您需要首先安装Docker。根据您的操作系统不同,您可以在Docker的官方网站或其他适当的站点上获得Docker的安装程序。另外,您需要了解Docker的基本用法。 第二步:获取Tensorflow 1.12.0镜像 使用以下命令从Docker官方中心拉取Tensorflow 1.12.0镜像: docker pull tensorflow/tensorflow:1.12.0 此命令将自动下载并安装Tensorflow 1.12.0镜像文件。 第三步:运行Tensorflow 1.12.0镜像 使用以下命令在Docker容器中启动Tensorflow 1.12.0镜像: docker run -it -p 8888:8888 tensorflow/tensorflow:1.12.0 bash 此命令将由Docker创建一个新的容器并在其中启动Tensorflow 1.12.0镜像。您将看到一个bash提示符,并且您可以输入Tensorflow命令并开始使用1.12.0版本的框架了。 至此,您已经成功地安装和启动了Tensorflow 1.12.0版本。使用Docker安装Tensorflow可以轻松地管理复杂的机器学习项目,并快速获得所需版本的框架。 ### 回答3: TensorFlow是由Google Brain团队开发的开源机器学习框架,它广泛应用在许多领域,如图像识别、自然语言处理、语音识别等。为了更方便地使用TensorFlow,可以通过Docker安装相应的镜像来实现快速的部署和配置TensorFlow官方提供了Docker Hub上的镜像,提供了稳定的版本和最新的版本。本文将针对TensorFlow1.12.0版本进行镜像安装的步骤说明。 步骤1:安装Docker 在开始安装TensorFlow镜像之前,必须先安装Docker服务。具体安装步骤请参考Docker官方文档。 步骤2:拉取TensorFlow镜像 在Docker命令行中输入以下命令,拉取TensorFlow1.12.0镜像: docker pull tensorflow/tensorflow:1.12.0 步骤3:启动TensorFlow镜像 通过下面的命令启动TensorFlow1.12.0镜像: docker run -it -p 8888:8888 tensorflow/tensorflow:1.12.0 以上命令启动了一个交互式的Docker容器,该容器中已经运行了一个Jupyter Notebook服务。可以打开浏览器,输入http://localhost:8888来访问该Notebook服务。 步骤4:测试TensorFlow镜像 在打开的Notebook服务中编写一些TensorFlow代码,验证TensorFlow镜像是否运行正常。 import tensorflow as tf hello = tf.constant("Hello, TensorFlow!") sess = tf.Session() print(sess.run(hello)) 如果在Notebook中输出了“Hello, TensorFlow!”,则表明TensorFlow镜像安装正常。至此,TensorFlow1.12.0镜像安装完毕。 总结: TensorFlow是目前应用最广泛的机器学习框架之一。利用Docker安装TensorFlow镜像可以快速、方便地搭建与配置开发环境。通过以上步骤,可以轻松地安装TensorFlow1.12.0镜像,并测试其是否正常运行。为了学习机器学习,这些步骤是非常有必要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值