构建含TensorFlow的树莓派docker镜像

3 篇文章 1 订阅
2 篇文章 0 订阅

Docker多架构构建设置

参考:Leverage multi-CPU architecture support
首先查看构建器builder:

docker buildx ls

如果在支持的架构里面看到没有arm架构的版本,则先运行:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

然后创建自己的builder,并查看信息:

docker buildx rm builder
docker buildx create --name builder --driver docker-container --use
docker buildx inspect --bootstrap

如:
在这里插入图片描述

Dockerfile编写

用于树莓派的docker镜像中,需要安装基于arm架构的TensorFlow。树莓派提供了一个arm架构的python wheel包的仓库:https://www.piwheels.org/simple

但是如果直接使用pip从该仓库安装,可能会遇到部分依赖包找不到的问题。此时,需要先从python官方仓库,安装找不到的依赖包,最后再安装TensorFlow。

下面展示一个安装TensorFlow 1.13.1 版本镜像的Dockerfile

FROM ubuntu:18.04

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get update && apt-get install -y 
    ca-certificates curl wget software-properties-common git libgl1-mesa-glx \
    libhdf5-dev libhdf5-serial-dev libatlas-base-dev libqtgui4 libqt4-test \
    libsm6 libxrender1 libxext-dev cmake pkg-config

RUN apt-get install -y python3.7 python3.7-dev python3-pip build-essential python3-dev python3-setuptools
RUN rm /usr/bin/python3
RUN ln -s /usr/bin/python3.7 /usr/bin/python && ln -s /usr/bin/python3.7 /usr/bin/python3
RUN alias python=python3 && ln -s /usr/bin/pip3 /usr/bin/pip

ENV PYTHONIOENCODING=utf-8

WORKDIR /app
RUN python3 -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install h5py scikit-build tensorflow-estimator==1.14.0 tensorboard==1.13.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

RUN pip install tensorflow==1.13.1 -i https://www.piwheels.org/simple

在安装tensorflow==1.13.1之前,安装了一些依赖库。其中安装h5py,需要python3.7的环境(以及libhdf5-dev等各种依赖库),否则可能安装失败,所以前面将基础镜像自带的python版本升级为3.7。

开始构建

Dockerfile编写完成后,使用docker buildx命令构建所需架构的镜像,如:

docker buildx build --platform linux/arm/v7 -t username/imagename --push .

其中,--platform后面接架构名字,-t后面接仓库及镜像名,--push表示推送到仓库。(须推送到仓库或者导出成文件,build完成后,使用docker images是看不到打出的镜像的)

推送完成后,即可在树莓派中pull下来,然后使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值