ubuntu_environment_config.md

ubuntu 环境配置

安装包准备

  • 下载 410以上显卡驱动 文件名: NVIDIA-Linux-x86_64-410.66.run
  • 下载 cuda 10.0 选择 CUDA Toolkit 10.0 (Sept 2018)... 选择详细参数: linux -> x86_64 -> ubuntu -> 16.04 -> runfile(local) 然后直接下载,2.0G,文件名: cuda_10.0.130_410.48_linux.run
  • 下载cudnn 7.4.2 首先注册一个帐号,然后登录,在这个页面 勾选 I Agree To the Terms of the cuDNN Software License Agreement 后能看见 Archived cuDNN Releases 点进去后选择 Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0 然后弹出框里面选择 cuDNN Library for Linux 下载,大小:424.5M,文件名:cudnn-10.0-linux-x64-v7.4.2.24.tgz

安装依赖

  • 将apt-get更新到国内源并更新所有包(如果更新过程中出现权限不足的情况,请在命令最前面加上 sudo)
  • 安装opencv依赖:
    • sudo apt-get install build-essential
    • sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    • sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    • sudo apt-get install libavcodec-ffmpeg56 libhdf5-dev

安装cuda环境

  • 安装驱动

    • 桌面状态按住 Ctrl + Alt + F1 进入文本行模式,登录后,进入到默认下载文件夹 cd /home/swls/Downloads
    • sudo service lightdm stop #关闭桌面服务
    • chmod +x NVIDIA-Linux-x86_64-410.66.run # 增加执行权限
    • sudo ./NVIDIA-Linux-x86_64-410.66.run -no-x-check -no-nouveau-check -no-opengl-files # 安装驱动, 安装过程可能会提示,一直默认就可以
    • sudo sh ./cuda_10.0.130_410.48_linux.run # 安装cuda,过程中第一步会提示是否安装 410 的显卡驱动,选择 no ,因为上一步已经安装完成,后面都选择yes就行
    • 添加环境变量:
      echo 'export PATH="$PATH:/usr/local/cuda-10.0/bin:/usr/local/cuda-10.0/include:$HOME/bin"' >> ~/.bashrc echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/extras/CUPTI/lib64:/usr/local/cuda-10.0/include"' >> ~/.bashrc echo 'export CUDA_BIN_PATH="/usr/local/cuda-10.0/include:/usr/local/cuda-10.0/bin"' >> ~/.bashrc source ~/.bashrc
    • 安装 cudnn:
      tar -xf /home/swls/Download/cudnn-10.0-linux-x64-v7.4.2.24.tgz -C ./ sudo cp /home/swls/Download/cuda/include/cudnn.h /usr/ local/cuda-10.0/include/ sudo cp /home/swls/Download/cuda/lib64/* /usr/ local/cuda-10.0/lib64/
    • 终端执行 nvidia-smi 查看显卡与驱动信息,能正常显示即表明安装成功
    • sudo service lightdm start #打开桌面服务
  • 文本行模式 按住 Ctrl + Alt + F7 即可打开桌面系统
  • 再次终端执行 nvidia-smi 查看显卡与驱动信息,能正常显示即表明安装成功

调用示例

接口规范

接口函数共有三个,init_model函数负责初始化模型,可根据返回码查看应对错误详细信息,recognise函数接受三个参数,第一个为识别图片路径,第二个save_path为打框图片保存路径,第三个为空字符串,识别结果将填入其中(json格式),free_model即为关闭识别接口,释放资源。所有函数返回 非0 代表此次调用错误。

  • int init_model(const char *path_prefix);
  • int recognise(char* image_path, char *save_path, char *return_char);
  • int free_model();

c++ 代码调用示例请查看 demo.cc 需要编译: g++ -o demo.so demo.cc -std=c++11 -ldl -shared -fPIC; python 代码调用示例请查看 demo.py 可直接运行。

http服务

主目录下运行sh ./run_service.sh 即可开启web service 服务,将识别接口部署到本地环境下,其中 service文件夹下存放运行服务的必要文件和python依赖。

调用示例

以下代码块展示了初始化识别接口的调用示例,包括访问地址,以及传入参数形似,以及键名,必须为recoglib_so_pathmodel_dir,键值请填写相应参数。

url = 'http://127.0.0.1:9999/api/init' info_dict = { "recoglib_so_path" : "/home/swls/work_dir/github/models-master/research/object_detection/scene_recog/package/recoglib.so", "model_dir" : "/home/swls/work_dir/github/models-master/research/object_detection/scene_recog/package" } r = requests.post(url, data=info_dict, timeout= 30) print( "init: ") print(r.status_code)

详细代码请查看主目录下的demo_post.py,其中需要修改所有关于路径的参数即可运行查看返回结果(运行demo_post.py需要安装requests库),每次访问http接口都会返回json字符串,具体格式如下: **注意:**每次调用后都要先判断code值是否为0,才执行之后操作。非0代表调用失败,可在错误码一览表查看相应信息,即可根据返回值和message判断具体问题所在。

init接口返回格式:

{ "message": "ok", "code": 0}

run接口返回格式:

{ "message": "OK", "code": 0, "data": [{ "y2": 1765.583984375, "y1": 1195.190673828125, "class_idx": 1, "score": 0.9999951124191284, "x2": 2938.8828125, "x1": 2512.82470703125}, { "y2": 3282.471435546875, "y1": 960.3641357421875, "class_idx": 6, "score": 0.9998703002929688, "x2": 2369.16552734375, "x1": 1262.511474609375}, { "y2": 1592.4522705078125, "y1": 1238.4974365234375, "class_idx": 1, "score": 0.9993507266044617, "x2": 2374.076171875, "x1": 2115.9111328125}], "out_path": "/home/swls/work_dir/github/models-master/research/object_detection/scene_recog/package/service/RecogApi2/upload/0c4fe954-45b5-403c-b257-6065df5dc24d.jpg"}

free接口返回格式:

{ "message": "free success", "code": 0}

错误码一览

错误码 信息
200 模型文件不存在
201 模型运行失败
250 模型未初始化错误
251 图片不存在
252 json解析错误
253 图片名格式错误

识别结果格式

示例 变压器_呼吸器_硅胶变色_0032.JPG 识别结果如下

{ "code": 0, "message": "ok", "out_path": "/home/swls/work_dir/github/models-master/research/object_detection/scene_recog/package/service/RecogApi2/upload/e1d83604-a7bc-40da-a83b-723bcfb5ed50.jpg", "data": [ { "class_idx" : 1, "score" : 0.99999511241912842, "x1" : 2512.82470703125, "x2" : 2938.8828125, "y1" : 1195.190673828125, "y2" : 1765.583984375 }, { "class_idx" : 6, "score" : 0.99987030029296875, "x1" : 1262.511474609375, "x2" : 2369.16552734375, "y1" : 960.3641357421875, "y2" : 3282.471435546875 }, { "class_idx" : 1, "score" : 0.99935072660446167, "x1" : 2115.9111328125, "x2" : 2374.076171875, "y1" : 1238.4974365234375, "y2" : 1592.4522705078125 } ] }

注意事项

  • 图片路径暂时不支持中文

  • 渲染图只标记了外框,不标记类别与置信度

  • 识别结果里面x1,y1 为左上角坐标,x2,y2为右下角坐标

  • 识别结果里面out_path为此次调用模型渲染图存放路径

  • 运行程序需要将lib文件夹加入到动态库查找路径,执行一下命令即可:(修改对应路径)

    • echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/swls/lib"' >> ~/.bashrc
    • source ~/.bashrc

转载于:https://www.cnblogs.com/yangww/p/11255481.html

Ubuntu环境配置机器安装驱动相关推荐

  1. Ubuntu 环境配置全过程

    Ubuntu 环境配置全过程 1 .卸载相关无用软件 https://www.jianshu.com/p/67a86505279f 1 更换系统源 2 卸载LibreOffice sudo apt-g ...

  2. ubuntu 环境配置与软件安装

    ubuntu 环境配置与软件安装 ubuntu系统安装好后的环境配置 1.切换清华源 2.安装nvidia显卡驱动 3.pycharm下载 4.anaconda下载 5.google chrome下载 ...

  3. Geomagic Touch(LAN口版本) 环境配置及驱动安装【过程记录】

    Geomagic Touch(LAN口版本) 环境配置及驱动安装过程记录 进入官方链接,在该页面下可以看到有 OpenHaptics 环境配置文件.touch 驱动文件以及驱动安装教程 1. Open ...

  4. ubuntu环境配置之cuda10+tensorflow-gpu

    ubuntu环境配置之tensorflow cuda10和cudnn7.4.2下载安装 cudnn7.4.2安装 Anaconda下载安装 安装 创建环境 cuda10和cudnn7.4.2下载安装 ...

  5. 从win+ubuntu双系统安装到ubuntu环境配置和美化

    从win+ubuntu双系统安装到ubuntu环境配置和美化 配置完成的ubuntu:Flatabulous主题+Dock工具栏+Compiz+启动器栏隐藏 一.安装双系统

  6. 达梦环境配置ODBC驱动

    达梦环境配置ODBC驱动 一.背景 达梦数据库作为国产数据库的领头羊,在数据库市场中占有着举足轻重的地位.达梦数据库是完全自主研发,拥有完整的知识产权,符合国家对国产数据库可持续发展.完全自主把控的要 ...

  7. GPU服务器Ubuntu环境配置教程及各种踩坑

    博主的GPU服务器快要过期了,为了让其发挥更多的光和热,博主打算将系统重装,来分别感受下不同系统下的GPU服务器.哈哈哈 博主为了快速运行项目,在购买服务器时选择的是Pytorch 1.9.1 Ubu ...

  8. Ubuntu环境配置(instant-ngp)

    综合环境配置 这篇文章的综合配置我是在恒源云上配的,自己穷买不起机子,就只能租咯,这家价格还行,而且可以装VNC,非推广,只是感觉方便,请大家结合自身实际情况 数据上传 这里有几种方法, 第一种是用M ...

  9. flame-fitting 在ubuntu环境配置

    前言: 本文记录的是作者第二次配置环境,第一次踩了好多好多坑,配了很久,没有记录.为了记录配置历程,方便其他人(自己),在成功之后又回去配置了一次,不保证没有上一次配置的隐藏优势 很重要的一点是:这是 ...

最新文章

  1. 图像变换——等距变换,相似变换,仿射变换,投影变换
  2. 20165206 2017-2018-2 《Java程序设计》第三周学习总结
  3. mybaits八:select查询返回map集合
  4. 【转】FPGA+CPU:并行处理大行其道
  5. Smoothing滤波处理halcon算子,持续更新
  6. yii urlmanager配置post不生效_一文带你彻底学会 Git Hooks 配置
  7. 开源硬件 可穿戴_11个出色的可穿戴开源项目
  8. .net中模拟键盘和鼠标操作
  9. edge chrome Android,微软Edge浏览器正式登陆Android平台
  10. Spire.Doc 教程:在C#,VB.NET创建、编辑和保存Word
  11. 重复可记,证明没有忘记这回事
  12. kali win10双系统_小米win10+kali 双系统
  13. 全国身份证号码归属地表格
  14. 英语文章翻译-英语文章翻译软件-免费批量翻译
  15. openstack-KVM-vCPU
  16. 天天酷跑php源码_run 模仿“天天酷跑”的游戏功能,涉及引擎编程,Libgdx 结构。图像绘制和动画,地图编 Game Engine 271万源代码下载- www.pudn.com...
  17. 手游用户数据分析平台
  18. Tools-06 WinDbg快速入门使用——查找蓝屏原因,解决蓝屏!
  19. 产品数据管理(PDM)技术说明书
  20. calc桌面计算机,Calc1(桌面计算器)

热门文章

  1. Godday+drupal 6.15
  2. 安装mysql出现存储不足_故障排除指南:MySQL的运行内存不足怎么办?
  3. MOOC笔记——用Tensorflow制作数据集
  4. java 读word文档模板,同时往word文档里面插入数据
  5. CCF推荐+SCI二区, IVC和EAAI期刊特刊征稿, 全部明年3月出录用结果!
  6. 有道学堂用户数破25万 用户运营见成效
  7. 数据宝董事长汤寒林分享保险行业数据产品场景案例
  8. GS 63B/6D.3-S8劳易测光电开关
  9. 家庭如何连接设置两个路由器
  10. VBA—EXCEL操作集合—04