谷歌Coral-TPU win10/ubuntu/docker安装教程汇总

参考连接
https://coral.ai/software/
https://github.com/google-coral/edgetpu
https://github.com/google-coral/libedgetpu
https://github.com/Air000/yolov3_to_edgetpu
https://github.com/google-coral/edgetpu/issues/260

一、runtime 安装

https://coral.ai/docs/accelerator/get-started/

在windows 10 下如果安装不成功可以适当的降低runtime 版本。测试是否能够加载 edgetpu.dll

from ctypes import *
a = cdll.LoadLibrary("edgetpu.dll")
print(a)
'''
# 输出 ##

'''
# tensorflow lite 安装
https://tensorflow.google.cn/lite/guide/python
runtime-2.5.0 版本
tflite_runtime-2.5.0-cp37-cp37m-win_amd64.whl

测试 tflite_runtime 是否安装成功

################## tflite_runtime 版本 ##############
import tflite_runtime 
print(tflite_runtime.__version__)
'''
# 输出 ##
2.1.0.post1
'''

二、Docker 安装

参考连接: https://github.com/google-coral/edgetpu/issues/170
1> 新建 coral-ubuntu:18 dockerfile
2> 创建镜像

	sudo docker build -t "coral-ubuntu:18" .

3> 启动镜像
docker 挂在coral 启动命令

sudo docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb coral-ubuntu /bin/bash

4>在容器中 使用X server 将图像显示到宿主机。

# 宿主机
sudo xhost+local:docker # 重启过后会失效
# docker 启动
sudo docker run  --rm -it    -v /dev/bus/usb:/dev/bus/usb \ # 挂载Coral
        -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
        -e QT_X11_NO_MITSHM=1 \
        --privileged \
        --device=/dev/video0:/dev/video0 --ipc=host \ # 挂载USB摄像头
        2f7d3a6ccfe7 /bin/bash
# 容器中
export DISPLAY=:0.0

官方dockerfile

FROM ubuntu:18.04
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 设置代理
RUN echo "http:IP:port"
WORKDIR /home
ENV HOME /home
VOLUME /data
EXPOSE 8888
RUN cd ~
RUN apt-get update
RUN apt-get install -y git pkg-config wget usbutils curl apt-transport-https ca-certificates
RUN apt-get install -y python3-pip
RUN pip3 install --upgrade pip

RUN echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" \
| tee /etc/apt/sources.list.d/coral-edgetpu.list
RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
RUN apt-get update
RUN apt-get install -y libedgetpu1-std python3-edgetpu python3-opencv

RUN wget https://dl.google.com/coral/python/tflite_runtime-2.1.0-cp36-cp36m-linux_x86_64.whl
RUN pip3 install tflite_runtime-2.1.0-cp36-cp36m-linux_x86_64.whl

RUN git clone https://github.com/google-coral/tflite.git

三、遇到的坑

  1. ValueError: Failed to load delegate from libedgetpu.so.1 ubuntu
    在官方例子中,会出现 ValueError: Failed to load delegate from libedgetpu.so.1 的错误。因为当前用户权限不够,使用 sudo 运行即可

  2. ValueError: Failed to load delegate from edgetpu.dll win10
    降低 runtime 版本 和 tflite_runtime 版本

    https://dl.google.com/coral/edgetpu_api/edgetpu_runtime_20200728.zip
    pip3 install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-win_amd64.whl
    

    测试是否能够加载 edgetpu.dll

    from ctypes import *
    a = cdll.LoadLibrary("edgetpu.dll")
    print(a)
    '''
    # 输出 ##
    
    '''
    

    测试 tflite_runtime 是否安装成功

    ################## tflite_runtime 版本 ##############
    import tflite_runtime 
    print(tflite_runtime.__version__)
    '''
    # 输出 ##
    2.1.0.post1
    '''
    

3.apt 源设置

echo 'Acquire::http::Proxy "http://代理IP:端口号";' >> /etc/apt/apt.conf 
echo 'Acquire::http::Proxy "https://代理IP:端口号";' >> /etc/apt/apt.conf

你可能感兴趣的:(深度学习部署,深度学习,tensorflow,docker)