官方建议使用他们的docker镜像,所以我们按照他们建议的来。

环境搭建其实很简单,其实不需要在宿主机上配置cudacudnn,只需要保证宿主机上的cuda大于docker镜像中的就可以了。

所以我们直接安装最新版的显卡驱动就可以了,最重要的是下面的三步,对于想尝鲜的同学来说,这个环境是最重要的,因为不管你想部署CPU还是GPU版本的,

PaddleHub Serving方式还是PaddleServing,我都准备好了Dockerfile文件,对应的模型文件及三方库我也都放在自己的仓库里了,(PS:直接使用官方的Dockerfile是部署不起来的,PaddleServing版本官方目前也没出Dockerfile

  • 1.安装新版docker>=19.03

  • 2.安装NVIDIA驱动

  • 3.安装NVIDIA Container Runtime

下面正式开始:

一、安装Docker

  • 一键安装脚本,安装参考curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  • 版本检查(需大于19.03):docker -v

  • 更换源:

echo "\
{
\"registry-mirrors\": [
\"https://kfwkfulq.mirror.aliyuncs.com\",
\"https://2lqq34jg.mirror.aliyuncs.com\",
\"https://pee6w651.mirror.aliyuncs.com\",
\"https://registry.docker-cn.com\",
\"http://hub-mirror.c.163.com\"
],
\"dns\": [
\"8.8.8.8\",
\"8.8.4.4\"
]
}" > /etc/docker/daemon.json && /etc/init.d/docker restart

二、安装NVIDIA驱动

  • 不要使用ppa方式安装,这种方式安装的驱动版本较低

  • 卸载已安装的nvidia驱动:

    apt-get --purge remove *nvidia* *cublas* cuda* -y && apt autoremove -y

  • 在官网检索并下载驱动文件,比如我下载的文件为NVIDIA-Linux-x86_64-465.31.run

  • 禁用 nouveau

      echo "\
    blacklist nouveau
    options nouveau modeset=0
    ">>/etc/modprobe.d/blacklist.conf
  • 使生效:update-initramfs -u完成后一定要重启一下系统

  • 安装驱动文件:

    若安装了图形界面,Ctrl+Alt+F2先打开一个TTY,然后执行如下命令:

      service lightdm stop
    sh NVIDIA-Linux-x86_64-465.31.run -no-x-check -no-nouveau-check -no-opengl-files

    安装过程中如果有些选项,直接默认就可以了

  • 检查:nvidia-smi能显示出信息基本上就可以了

三、安装NVIDIA Container Runtime,官方文档详见这里

添加gpgkey(国内环境,最好挂代理):

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

安装(国内环境,最好挂代理):

sudo apt-get update \
&& sudo apt-get install -y nvidia-container-runtime

重启docker:

systemctl restart docker.service

PaddleOCR系列(一)--环境搭建的更多相关文章

  1. 1、 小白带你入坑xamarin系列之环境搭建和准备

    重点提示 由于xamarin发展更新很快 目前教程部分内容已经过时 请注意下载最新版本   2018.05.23 www.xamarin.com 1. 小白带你入坑xamarin系列之环境搭建和准备 ...

  2. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  3. Selenium+Python系列 - 开发环境搭建

    一.写在前面 我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些Python自动化的文章吗,答案是肯定的. 笔者Java党,整P ...

  4. 使用 robotframework 自动化测试系列 二 -----环境搭建

    环境搭建是测试人员基础,本质都是不难的,按照流程和步骤一步步做,遇到问题不要担心,解决的问题越多,你理解的也就越多. 1. 安装python环境,python现在有python2 和python3.由 ...

  5. Dubbo 源码分析系列之一环境搭建

    环境搭建的步骤有哪些 依赖外部的环境 使用的开发工具 源码的拉取 结构大致介绍 1 依赖的外部环境 安装JDK 安装Git 安装maven 这边我们就不介绍怎么安装这些外部环境了,大家自行从安装这些外 ...

  6. quick-cocos2d-x 系列之——环境搭建(Mac版)

    quick-cocos2d-x简单介绍 何为quick-cocos2d-x? ?   简单一句话:quick-cocos2d-x是採用lua语言,通过tolua++工具对cocos2d-x进一步封装, ...

  7. Python3入门系列之-----环境搭建

    前  言 最近一直在学习Python,想用笔记的方式记录自己踩过的那些坑.俗话说:好记性不如烂笔头. 分享给想学Python的小伙伴.目前本人在学习Python+selenium.接口自动化,有兴趣的 ...

  8. C#开发移动应用系列(1.环境搭建)

    前言 是时候蹭一波热度了..咳咳..我什么都没说.. 其实也是有感而发,昨天看到Jesse写的博文(是时候开始用C#快速开发移动应用了),才幡然醒悟 , 原来我们的Xamarin已经如此的成熟了... ...

  9. PHP Laravel系列之环境搭建( VirtualBox+Vagrant+Homestead+系列网址)

    搭建环境从来都是阻挡一门新技能的最致命的硬伤,为了这个环境,我又是花费了半天的时间,各种问题层出不穷,下面基于网上的一些教程(我看到的都多少有些问题) 开始的时候是在实验楼这个平台上开始学习的,不过 ...

  10. Laravel系列之环境搭建 — VirtualBox+Vagrant+Homestead

    一.为啥需要搭建环境 为了解决环境不统一问题,所以要搭建这么个玩意儿 二.步骤  Laravel对环境有所要求(不使用Homestead情况下),具体参考官网 使用Homestead步骤 1. Hom ...

随机推荐

  1. FreeRTOS --(16)资源管理之临界区

    转载自 https://blog.csdn.net/zhoutaopower/article/details/107387427 临界区的概念在任何的 SoC 都存在,比如,针对一个寄存器,基本操作为 ...

  2. 面试突击44:volatile 有什么用?

    volatile 是 Java 并发编程的重要组成部分,也是常见的面试题之一,它的主要作用有两个:保证内存的可见性和禁止指令重排序.下面我们具体来看这两个功能. 内存可见性 说到内存可见性问题就不得不 ...

  3. Linux系统创建可执行文件软链接

    技术背景 由于创建软链接这个事情,在算法开发的日常中使用到的并不是很多,因此本文也是做一个简单的回顾.这里我们使用的案例是通过TMalign这个蛋白质打分文件,在编译好可执行文件之后,可以使用建立软链 ...

  4. 公众号走走看看——js

    1.数字转换字符串/字符串转换数字 2.短循环 3.性能测试(执行时间) 4.交换值 5.合并数组(IE不兼容) 6.数组去重 7.判断给定参数是否是数字 8.获取最大最小值.取随机数(arr.len ...

  5. 关于前端ajax请求获取数据成功之后无法操作数据的原因及解决方法

    前言:做项目的时候我用ajax请求json数据,遍历使用数据时却发现页面无响应.关于这个问题今天有个朋友又问了我一次,记录一下.由于我没有记录,这里用我朋友的图片. 代码现象: 这里他是使用alert ...

  6. Idea之常用插件

    效率提升 Jrebel 热部署插件,修改代码编译就生效,节省大量重启服务时间.热部署支持修改方法代码,方法定义,类定义,接口定义(包括swagger文档),修改资源文件,修改mapper.xml(需配 ...

  7. navicat软件、 python操作MySQL

    查询关键字之having过滤 having与where的功能是一模一样的 都是对数据进行筛选 where用在分组之前的筛选 havng用在分组之后的筛选 为了更好的区分 所以将where说成筛选 ha ...

  8. 简易版 vue实现

    Vue-mini 完整的Demo示例:git@github.com:xsk-walter/Vue-mini.git 一.Vue实例 构造函数: $option\ $el\ $data 判断是否存在 通 ...

  9. curl-URL请求

    模拟HTTP请求,通过访问URL获取HTTP响应. 语法 curl [选项] 访问URL 选项 --connect-timeout SECONDS 设置最大请求时间. -C, --continue-a ...

  10. 一起看 I/O | Flutter 3 更新详解

    作者 / Kevin Jamaul Chisholm, Technical Program Manager for Dart and Flutter at Google 又到了 Flutter 稳定版 ...