Ubuntu环境配置机器安装驱动
ubuntu_environment_config.md
thead > tr > th {
text-align: left;
border-bottom: 1px solid;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td {
padding: 5px 10px;
}
table > tbody > tr + tr > td {
border-top: 1px solid;
}
blockquote {
margin: 0 7px 0 5px;
padding: 0 16px 0 10px;
border-left: 5px solid;
}
code {
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
font-size: 14px;
line-height: 19px;
}
body.wordWrap pre {
white-space: pre-wrap;
}
.mac code {
font-size: 12px;
line-height: 18px;
}
pre:not(.hljs),
pre.hljs code > div {
padding: 16px;
border-radius: 3px;
overflow: auto;
}
/** Theming */
.vscode-light,
.vscode-light pre code {
color: rgb(30, 30, 30);
}
.vscode-dark,
.vscode-dark pre code {
color: #DDD;
}
.vscode-high-contrast,
.vscode-high-contrast pre code {
color: white;
}
.vscode-light code {
color: #A31515;
}
.vscode-dark code {
color: #D7BA7D;
}
.vscode-light pre:not(.hljs),
.vscode-light code > div {
background-color: rgba(220, 220, 220, 0.4);
}
.vscode-dark pre:not(.hljs),
.vscode-dark code > div {
background-color: rgba(10, 10, 10, 0.4);
}
.vscode-high-contrast pre:not(.hljs),
.vscode-high-contrast code > div {
background-color: rgb(0, 0, 0);
}
.vscode-high-contrast h1 {
border-color: rgb(0, 0, 0);
}
.vscode-light table > thead > tr > th {
border-color: rgba(0, 0, 0, 0.69);
}
.vscode-dark table > thead > tr > th {
border-color: rgba(255, 255, 255, 0.69);
}
.vscode-light h1,
.vscode-light hr,
.vscode-light table > tbody > tr + tr > td {
border-color: rgba(0, 0, 0, 0.18);
}
.vscode-dark h1,
.vscode-dark hr,
.vscode-dark table > tbody > tr + tr > td {
border-color: rgba(255, 255, 255, 0.18);
}
.vscode-light blockquote,
.vscode-dark blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.vscode-high-contrast blockquote {
background: transparent;
border-color: #fff;
}
-->
code {
color: #C9AE75; /* Change the old color so it seems less like an error */
font-size: inherit;
}
/* Page Break : use
to insert page break-------------------------------------------------------- */
.page {
page-break-after: always;
}
-->
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-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-devsudo 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_path 和 model_dir,键值请填写相应参数。
详细代码请查看主目录下的demo_post.py,其中需要修改所有关于路径的参数即可运行查看返回结果(运行demo_post.py需要安装requests库),每次访问http接口都会返回json字符串,具体格式如下: **注意:**每次调用后都要先判断code值是否为0,才执行之后操作。非0代表调用失败,可在错误码一览表查看相应信息,即可根据返回值和message判断具体问题所在。
init接口返回格式:
run接口返回格式:
free接口返回格式:
错误码一览
| 错误码 | 信息 |
|---|---|
| 200 | 模型文件不存在 |
| 201 | 模型运行失败 |
| 250 | 模型未初始化错误 |
| 251 | 图片不存在 |
| 252 | json解析错误 |
| 253 | 图片名格式错误 |
识别结果格式
示例 变压器_呼吸器_硅胶变色_0032.JPG 识别结果如下
注意事项
图片路径暂时不支持中文
渲染图只标记了外框,不标记类别与置信度
识别结果里面x1,y1 为左上角坐标,x2,y2为右下角坐标
识别结果里面
out_path为此次调用模型渲染图存放路径运行程序需要将
lib文件夹加入到动态库查找路径,执行一下命令即可:(修改对应路径)echo 'export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/swls/lib"' >> ~/.bashrcsource ~/.bashrc
Ubuntu环境配置机器安装驱动的更多相关文章
- ubuntu环境配置之vi 配置【转载】
ubuntu环境配置之vi 配置 [日期:2014-02-10] 来源:Linux社区 作者:zhonghe1114 [字体:大 中 小] Android的源码开发,几乎离不开Linux,Lin ...
- ubuntu环境配置eclipse+opencv
blockquote { direction: ltr; color: rgb(0, 0, 0) } blockquote.western { font-family: "Liberatio ...
- 【Python开发实战】Windows7+VirtualBox+Ubuntu环境配置
1. VirtualBox的安装 参考常规安装方式即可. VirtualBox 4.3.14 for Windows hosts:http://download.virtualbox.org/virt ...
- ubuntu环境配置终极解答
1. ubuntu中常用的5个配置文件 1)/etc/profile 2)/etc/environment 环境变量在这个文件中定义,可以用vim /etc/environment查看该文件内容 3) ...
- ubuntu 环境配置
安装包准备 下载 410以上显卡驱动 文件名: NVIDIA-Linux-x86_64-410.66.run 下载 cuda 10.0 选择 CUDA Toolkit 10.0 (Sept 2018) ...
- ubuntu环境配置
网络配置 主要文件:/etc/network/interfaces,这里是IP.网关.掩码等的一些配置: # This file describes the network interfaces av ...
- MPSOC之2——ubuntu环境配置及petalinux安装
MPSOC的linux开发需要使用petalinux,选择Ubuntu操作系统. 1.Ubuntu 1.1. Ubuntu安装 版本16.04.03 vmare版本:12.0 安装时注意选择" ...
- jdk 1.7 在ubuntu 环境配置
在/opt/里解压了jdk 1.7后 设置环境变量 chen@caicai ~ $ vim .profile export JAVA_HOME=/opt/jdk1..0_79 export JRE_H ...
- rnnlib依赖ubuntu环境配置
rnnlib help http://sourceforge.net/apps/mediawiki/rnnl/index.php?title=Main_Page boost: http://blog. ...
随机推荐
- UVA - 12538 Version Controlled IDE (可持久化treap)
紫薯例题 #include<bits/stdc++.h> using namespace std; typedef long long ll; ,inf=0x3f3f3f3f; ],ch[ ...
- 基于django中settings中间件源码思想,实现功能的插拔式设计
这里我们用到一个非常重要的模块,importlib,利用它可以实现字符串转python代码,再利用反射进行操作,这样就可以实现插拔式设计. 一.我们先做个初级的,把所有文件放到初级思想文件夹下: 1. ...
- dlopen用法
1. 包含头文件 #include<dlfcn.h> 2. 函数定义 void * dlopen(const char* pathName, int mode); pathName 指的 ...
- shell中的控制流结构
shell中的控制流结构 1.if...then..else..fi语句 2.case语句 3.for循环 4.until 语句 5.while循环 6.break控制 7.continue 控制 1 ...
- PHP循环while do while循环
<?php #从1打印到10,除了5 $i=1; while ($i<10) { if ($i==5) { $i++; continue; } echo $i++."<br ...
- qt5---QMainWindow
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets)[就是浮动窗口].一个状态栏(sta ...
- redis过期策略、内存淘汰策略、持久化方式、主从复制
原文链接:https://blog.csdn.net/a745233700/article/details/85413179 一.Redis的过期策略以及内存淘汰策略:1.过期策略:定期删除+惰性删除 ...
- Qt之去除窗口的标题栏、通过鼠标移动窗口
设置标题栏图标,位置与大小示例 #include<QApplication> #include<QWidget> #include<QDebug> #include ...
- Java类路径的问题
下面是eclipse中的文件组织形式. 下面是硬盘中文件的组织形式: src:中就是自己编写的没有编译的代码. target中是编译的Java中的class文件和一些不用编译的文件.这样也就明白了为什 ...
- LOJ #6145. 「2017 山东三轮集训 Day7」Easy 点分树+线段树
这个就比较简单了~ Code: #include <cstdio> #include <algorithm> #define N 100004 #define inf 1000 ...