docker 与本地 安装配置paddlepaddle-ocr

ubuntu10.2   

已下载docker 
————————————————

1.安装和测试nvidia docker:Installing Docker and The Docker Utility Engine for NVIDIA GPUs — NVIDIA AI Enterprise documentation

1.1.在执行restart时候,报错(存疑:有时候并不生效,就关闭再start,没发现什么问题):

Failed to allocate directory watch: Too many open files

(1)逐行执行:

vim /etc/sysctl.conf

fs.inotify.max_user_instances=512
fs.inotify.max_user_watches=262144

(2)使之生效:

sysctl -p

就可以restart了。

执行(1)时候,a插入后,esc后,按  :wq  或者wq!时候,不行,因为该文件可能是只读的,所以要采用

:w !sudo tee %

1.2.删除多余镜像:

如果要删除本地的镜像,可以使用 docker rmi (注意rm为删除容器,而rmi为删除镜像,其中i代表image)命令,它的具体语法如下:

docker rmi [OPTIONS] IMAGE [IMAGE…]

如:sudo docker rmi 7e913212889f

其中:

docker rmi:Docker删除镜像的命令关键词;
OPTIIONS: 命令选项,-f强制删除镜像;
IMAGE:需要删除的镜像。这里的镜像可以用“镜像短ID”、“镜像长ID”、“镜像名”、“镜像的digest”来标识。

2.在docker中拉取paddlepaddle镜像,并建立容器:

2.1.启动docker:

systemctl start docker

2.2.下载pp镜像,即安装pp:开始使用_飞桨-源于产业实践的开源深度学习平台

拉取预安装的pp镜像:

 nvidia-docker pull registry.baidubce.com/paddlepaddle/paddle:2.3.2-gpu-cuda10.2-cudnn7

2.3.查看镜像:

sudo docker images

,好吧!这不就是上面提到的博主说的的show嘛,垃圾2.4 构建和启动容器:PaddleOCR/environment_en.md at release/2.6 · PaddlePaddle/PaddleOCR · GitHub

因为要进行的项目是ocr的,所以以pp镜像为基础,创建一个叫ppocr的容器。

 在自己本地的ppocr目录里: 

sudo nvidia-docker run -p 8899:8899 --name ppocr -it -v $PWD:/home/A/pp/ppocr registry.baidubce.com/paddlepaddle/paddle:2.3.2-gpu-cuda10.2-cudnn7 /bin/bash

因为我安装时候,没有选择后台运行(-d)ppocr容器,所以安装并启动后,直接进去了 /home 里面,ls查看里面有什么。home里有我命令里冒号后指定的路径,(其他两个不知道是什么)。cd / 应该是根目录,ls 查看。 直接切换到~/ppocr里.

docker 与本地 安装配置paddlepaddle-ocr_第1张图片

用镜像构建并进入Docker容器(这个命令退出容器容器不会消失)

(1)run:是新建一个容器,后面可加-d(以后台模式运行,不马上进入)。

(2)-p(小写):可以指定要映射的IP和端口,(这里:端口映射到宿主机8899端口),在一个指定端口上只可以绑定一个容器。

(3)--name + 容器名

(4)-it :好像是与容器交互方式,暂时不涉及)

(5)-v  :挂载命令,$PWD变量会展开为当前路径的绝对路径,当然也可以替换为本地的绝对路径。

        $PWD  是当前路径/目录,我当前是在   .../ppocr  路径/目录里,所以会把这个目录挂载到冒号:后面的    容器的/home/A/pp/ppocr目录里(在容器中会自动生成这个目录)

(6)倒数第二个内容:以它为镜像创建容器

ps:错误案例:这个有问题,只是映射了和本地路径相同的路径,没有达到挂载的作用。

sudo nvidia-docker run -p 8899:8899 --name ppocr -it -v $PWD registry.baidubce.com/paddlepaddle/paddle:2.3.2-gpu-cuda10.2-cudnn7 /bin/bash 

2.5  (可省略)在容器中安装pp-gpu

这一步在docker中不需要了,在官网和实践中看出:

开始使用_飞桨-源于产业实践的开源深度学习平台

拉取镜像的命令=安装这一步的命令,且容器就是以镜像(内含镜像)而建立的。

cd 到我建立的ppocr里面

pip show paddlepaddle-gpu:(本地不行,只是文件同步,环境还没有),确实已经有了

docker 与本地 安装配置paddlepaddle-ocr_第2张图片

(当时安装怕出错:还是安装了。)

 python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

3 docker下载自己要的项目和配置环境——Paddleocr

3.1(不需要)安装:Install PaddleOCR Whl Package,类似于调用接口快速体验,是quick  start里面的。

中文文档里说  通过Python脚本使用PaddleOCR whl包,whl包会自动下载ppocr轻量级模型作为默认模型。

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_en/quickstart_en.md

pip3 install paddleocr -i https://mirror.baidu.com/pypi/simple

官网是:

pip install "paddleocr>=2.0.1" # Recommend to use version 2.0.1+

-i ...是我不加会read timed out


3.2 下载源码:

用git clone 下载失败,好像是容器里配置ssh,所以下载zip到本地,解压到目标路径,自动实现docker同步。

https://github.com/PaddlePaddle/PaddleOCR

3.2.1.测试同步情况

本地放个111.py,在容器里运行一下。

3.3.配置环境:

因为之后开发在本地,不可能在docker里用vim开发,所以打算先在本地弄好在生成requirements,再配到容器里。

4  在本地完成pp安装、源码下载等过程

在本地打开的ocr项目里,选择一个位置建立虚拟环境,在环境里:

安装pp-gpu:

python -m pip install paddlepaddle-gpu==2.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

(这个就是相当于docker拉取pp镜像那一步)

(不需要)安装ppocr whl:

pip install paddleocr -i https://mirror.baidu.com/pypi/simple

安装环境:

pip install -r requirments.txt

你可能感兴趣的:(docker,容器,深度学习)