1.OpenCV中几种卷积的源码实现方式
2.tengine是什么
3.php如何安装?
4.javaå¹è®ä¸»è¦å¦ä»ä¹ï¼
OpenCV中几种卷积的实现方式
自从opencv引入dnn模块后,卷积实现方式不断扩展,搭建以适应PC、源码手机、搭建边缘计算设备的源码部署需求。目前,搭建桂林到北海源码可调用CUDA、源码OpenCL、搭建Tengine、源码Vulkan实现卷积。搭建Tengine、源码Vulkan特别适用于移动设备和边缘计算,搭建它们内部是源码如何实现的?
Vulkan是一个渲染库,与OpenGL、搭建DirectX等GPU渲染库相比,源码移动设备上使用较多,而深度学习模型又需要在移动设备上部署。因此,探索是听听中心源码否可以使用Vulkan实现卷积等深度学习操作。
接下来,让我们看看OpenCV是如何使用Vulkan实现深度神经网络中的卷积。
打开OpenCV源码库的modules/dnn/src目录,可以看到最后一个文件夹是vkcom。"vkcom"这个名字由"Vulkan"库本身与"comp"(glsl语言的源代码后缀)组成。glsl语言可以通过以下命令编译:“vkcom”。GLSL是OpenGL着色语言,用于编写OpenGL着色器的编程语言,通常与并行处理功能强大的GPU结合使用。深度学习操作如卷积、池化都是对图像颜色的处理,因此可以将这些操作实现为着色器,用GLSL编写,然后使用Vulkan调用GPU。
Vulkan实现的卷积代码示例如下:
代码中指定了输入输出变量(第3、6、9、行)。jacoco源码分析在第行计算了输出变量convolved_image_data的值。第行开始的for循环遍历卷积核的c、w、h,计算单个像素位置的卷积结果。显然,这个卷积仅计算一个像素位置的卷积结果,卷积核的滑动过程由Vulkan管理GPU,多个GPU计算单元并行完成。
在OpenCV中,文件conv.comp首先被编译为二进制,然后将此二进制作为字符串放入conv_spv.cpp中。cpp文件定义了conv_spv数组,其中包含编译后的卷积着色器执行代码。由OpBase::createShaderModule函数将此二进制送入vkCreateShaderModule,从而调度GPU。
通过分析代码,可以看到Vulkan实现的phpweb手机源码算子被调用的方式,这同样适用于CUDA、OpenCL、Ngraph、Inference Engine等实现的算子。
Vulkan渲染库在OpenCV中的调用逻辑已经阐述完毕。Tengine是如何使用的?在convolution_layer.cpp的forward函数的行,调用了tengine_forward(tengine_graph)。
Tengine_forward来自teng_run_graph函数,我们只需调用库即可得到结果。传入的graph是卷积图,由create_conv_graph在第行创建。create_conv_graph使用create_conv_node、create_input_node生成卷积算子所需的图。
使用Tengine相对使用Vulkan、CUDA等库完成算子,要简单许多。调用库内的函数生成节点,使用节点构建图即可,开源借阅源码无需自己实现算子内的计算。
本文概述了OpenCV中卷积实现方式的多样性,以下为总结:
本文详细分析了使用Vulkan用着色器实现卷积计算的方法及其调用路径,这个路径在分析其他类型实现时也很有用。本文还探讨了不同库算子的兼容性。当然,不同算子兼容还涉及更多细节,本文仅关注卷积forward函数的传递。
本文后半部分简要介绍了Tengine在OpenCV中的集成。发现集成过程相对简单,在convolution_layer.cpp中直接运行Tengine库构建的卷积计算图。这也表明,如果存在更好的边缘计算库,很容易集成到OpenCV中。
通过几天的分析,我们已经了解了OpenCL、Vulkan、Tengine的实现方式。可以预计,CUDA、Halide、Inference Engine nn、Inference Engine NGraph等实现也会类似。
tengine是什么
Tengine是一款高性能的Web服务器软件。 Tengine是基于Nginx源码开发的,继承了Nginx高性能的特点,同时加入了更多功能和优化,使其更适合现代互联网应用的需求。以下是关于Tengine的详细介绍: 一、Tengine的基本介绍 Tengine是由淘宝团队开发并维护的Web服务器软件。它采用了模块化设计,具备高度的可扩展性和稳定性。与传统的Nginx相比,Tengine在功能和性能上都有所提升,特别是在处理高并发、大流量的场景下表现更为出色。 二、Tengine的主要特点 1. 高性能:Tengine继承了Nginx的高并发处理能力,能够处理大量的并发请求,保证服务器的稳定性和响应速度。 2. 功能丰富:除了基本的Web服务器功能外,Tengine还提供了许多高级功能,如动态模块加载、热更新等,满足了更多复杂场景的需求。 3. 易于扩展:Tengine采用模块化设计,用户可以根据需要灵活地添加或移除功能模块,方便进行扩展和定制。 4. 安全性高:Tengine对安全性进行了优化和改进,提供了更强的安全防护能力,有效抵御各类网络攻击。 三、Tengine的应用场景 Tengine广泛应用于各种互联网场景,如网站、应用服务器、负载均衡等。特别是在处理大量并发请求、要求高性能和高可用性的场景中,Tengine表现出色。 总之,Tengine是一款高性能的Web服务器软件,具备丰富的功能和高度可扩展性,特别适用于现代互联网应用的需求。由于其出色的性能和稳定性,Tengine受到了广泛的关注和应用。php如何安装?
怎么安装PHP环境?
LAMP/LNMP环境搭建
一.检查系统环境
1.确认centos版本
[root@localhost~]#cat/etc/redhat-release
2.检查是否安装过apache
rpm-qa|grepf
5.卸载Apache包
rpm-qa|grep(小皮)或者bt.cn(宝塔)安装面板
如果你的服务器是Linux,建议使用宝塔
打开终端,不同Linux系统的输入指令不同:
Centos安装脚本
终端输入:yuminstall-ywgetwget-Oinstall.shshinstall.sh
Ubuntu/Deepin安装脚本
终端输入:wget-Oinstall.shsudobashinstall.sh
Debian安装脚本
终端输入:wget-Oinstall.shbashinstall.sh
Fedora安装脚本
终端输入wget-Oinstall.shbashinstall.sh
输入后进行安装就可以了
如何安装PHP模块php模块安装的方式
1、静态安装
将先将在安装php之前先将需要安装的程序装上,如ftp、mhash、mcrypt……安装完成后,解压php安装包,执行./configure
--with-ftp
--with-mhash
--wth-mcrypt等等。后面具体跟的参数可以参看./configure
--help查看。编译好后,执行make
make
install
就行了。
2、动态安装
而在往往我们进行编译php时经常会忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想再重新装php,于是可以采用phpize来动态加载需要安装的模块。
具体实现方法如下(这里以忘记安装pdo_mysql模块为例):
cd
/root/source/php-5.3./ext/pdo_mysql
/usr/local/php/bin/phpize
在安装完mysql后,并不是进入/root/source/mysql-5.5.目录运行phpize,而是进入php的源文件中要增加的扩展模块的文件目录---也就是/root/source/php-5.3./ext/pdo_mysql目录执行phpize。如果不是这样操作的话就会提示下面的错误:
Cannot
find
config.m4.
Make
sure
that
you
run
'/usr/local/php/bin/phpize'
in
the
top
level
source
directory
of
the
module
关于上面的这个错误,我不得不鄙视下网上有些自以为是的家伙,自认为对所有的安装操作很懂,报上面的错误的时候,去修改源代码,搞的乱七八糟,误人子弟。根本不按php官方的文档操作。
目录/root/source/php-5.3./ext/pdo_mysql
,在运行phpize命令前并没有configure文件,只有config.m4文件。运行phpize就生成了一个可执行的configure文件。此时就可以按照下的方法编译了:
./configure
--with-php-config=/usr/bin/php-config
(还可以加一些其他的参数,可通过./configure
--help查看)
make
make
install
编译完成后会提示扩展模块生成在/usr/local/php/lib/php/extensions/no-debug-non-zts-目录。
修改php.ini文件
vi
/usr/local/php/etc/php.ini
在其文件结尾加入下面的内容:
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-"
extension=pdo_mysql.so
安装完成后,重启php-fpm和web服务器。(因为我用的是php-fpm和tengine,如果用的是apache则也重启相应的程序,重新加载就行了)
javaå¹è®ä¸»è¦å¦ä»ä¹ï¼
åè¿æ ·çé®é¢ï¼æå·²ç»åçäºå¾å¤æ¬¡ï¼ç°å¨å¾å¤æ°æï¼ç¹å«æ¯ååå ¥è¡æ³å¦javaçåå¦ï¼ä¸ç¥é该ä»åªéå ¥æï¼ææ¯å¨æé½è¯¾å·¥åºå¦javaå ¥çè¡ï¼ç°å¨å·²åæèå¸æºï¼ææ´çäºä¸äºjavaçç¥è¯ç¹ï¼ä¸å ±å为å 个é¶æ®µï¼ä¸ªæè½ç¹ï¼ç¬¬ä¸é¶æ®µã第äºé¶æ®µã第ä¸é¶æ®µã第åé¶æ®µæ¯å¿ é¡»è¦ææ¡çï¼å¾å¤æºæ忽æ 人ï¼å°±åªå¦å°ç¬¬åé¶æ®µï¼ç¬¬äºé¶æ®µå第å é¶æ®µå°±æ¯é«èªãé«èçä¿éï¼å°±è¯´è¯´æ³é«èªå¿ é¡»å¾æåé¢ä¸¤ä¸ªé¶æ®µçç»ææ¡äºï¼èéï¼è§å¾åéé纳ä¸åã第ä¸é¶æ®µï¼javaåºæ¬åä¿®ç¼
1. 认è¯è®¡ç®æºç¡¬ä»¶
2. 计ç®æºç»æåç
3. 计ç®æºè½¯ä»¶ç¥è¯
4. 计ç®æºç½ç»ç¥è¯
5. 常ç¨ç½ç»åºç¨æä½
6. 认è¯è®¡ç®æºç æ¯
7. é»è¾è®ç»
8. åè¯Java
9. åéåæ°æ®ç±»å
. éæ©ç»æ
. 循ç¯ç»æfor
. 循ç¯ç»ædo-while
. 循ç¯ç»æwhile
. å¤é循ç¯åç¨åºè°è¯
. 循ç¯è¿é¶
. ä¸ç»´æ°ç»åç»å ¸åºç¨
. äºç»´æ°ç»
. 认è¯ç±»ä¸å¯¹è±¡
. æ¹æ³åæ¹æ³éè½½
. å°è£ ä¸ç»§æ¿
. æ¹æ³éåä¸å¤æ
. 项ç®å®æ-汽车ç§èµç³»ç»
. æ½è±¡ç±»åæ¥å£
. å¼å¸¸
. 项ç®å®æ-QuickHit
. Java ä¸çéåç±»å
. List éå
. Set éå
. HashMap éå
. Iterator
. Collections ç®æ³ç±»å常ç¨æ¹æ³
. enum
. å è£ ç±»åè£ ç®±æç®±
. StringãStringBuffer 类常ç¨æ¹æ³æä½å符串
. DateãCalendar
. Math 类常ç¨æ¹æ³
. IO/NIO
. åèè¾å ¥æµ(InputStreamãFileInputStreamãBufferedInputStream)
. åèè¾åºæµ(OutputStreamãFileOutputStreamãBufferedOutputStream)
. å符è¾å ¥æµ(ReaderãInputStreamReaderãFileReader BufferedReader)
. åèè¾åºæµ(WriterãOutputStreamWriterãFileWriterãBufferedWriter)
. æ件å¤å¶
. SerializeãDeserialize
. èåºæååï¼å象éæ¶é´ç®¡çä¸ç²¾å管ç
. å¤çº¿ç¨(ThreadãRunnable)
. Thread LifeCycle
. 线ç¨çè°åº¦
. 线ç¨çåæ¥åæ»é
. Thread Pool
. èåºæååï¼å¢éåä½
. Socket(TCPãUDP)
. XML æ¦å¿µãä¼å¿ãè§è
. XML ä¸ç¹æ®å符çå¤ç
. 使ç¨DOM 读åãæ·»å ãå é¤ã解æ XML æ°æ®
第äºé¶æ®µï¼javawebå¼å
. æ建åé ç½®MySQL æ°æ®åº
. æ°æ®åºå¢ãå ãæ¥ãæ¹è¯å¥
. äºå¡
. è§å¾
. æ°æ®åºå¤ä»½ä¸æ¢å¤
. æ°æ®åºç¨æ·ç®¡ç
. æ°æ®åºè®¾è®¡
. 项ç®å®æ-é¶è¡ATM åå款æºç³»ç»
. èµ°è¿ HTML åCSS
. åè¡¨è¡¨æ ¼å表åç¾å
. CSS é«çº§æä½
. Bootstrap
. CSS ç»ä»¶
. JavaScript é¢å对象
. JavaScript å¤æã循ç¯
. JavaScript éå
. JavaScript è¯æ³
. Bootstrap 综åæ¡ä¾
. HTML5ãCSS3
. jQuery åºç¡
. jQuery åºæ¬æä½
. jQuery äºä»¶ä¸ç¹æ
. jQuery Ajax
. jQuery æ件
. æ建Web ç¯å¢åè¯JSP
. JSP ä¹å¤§å 置对象
. JSP å®ç°æ°æ®ä¼ éåä¿å
. JDBC
. åä¾æ¨¡å¼ãå·¥å模å¼
. MVCãä¸å±æ¨¡å¼
. Commons-fileuploadãCKEditor
. å页æ¥è¯¢
. EL ä¸ JSTL
. Servlet ä¸Filter
. Listener ä¸MVC
. Ajax ä¸ jQuery
. jQuery çAjax 交äºæ©å±
. 项ç®å®æâ使ç¨Ajax ææ¯æ¹è¿æ°é»åå¸ç³»ç»
. åå°
. Linux ç³»ç»çå®è£
. å¨Linux ä¸ç®¡çç®å½åæ件
. å¨Linux ä¸ç®¡çç¨æ·åæé
. å¨Linux æå¡å¨ç¯å¢ä¸å®è£ 软件åé¨ç½²é¡¹ç®
. èåºæååï¼èåºæ²é
第ä¸é¶æ®µï¼ ä¼ä¸çº§æ¡æ¶å¼å
. MyBatis ç¯å¢æ建
. SQL æ å°æ件
. å¨æSQL
. MyBatis æ¡æ¶åç
. Spring IOC
. æé æ³¨å ¥ãä¾èµæ³¨å ¥ã注解
. Spring æ´åMyBatis(SqlSessionTemplateãMapperFactoryBeanãäºå¡
å¤ç)
. Spring æ°æ®æº(å±æ§æ件ãJNDI)ãBean ä½ç¨å
. Spring æ¡æ¶çè¿è¡åç
. SpringMVC ä½ç³»æ¦å¿µ
. SpringMVC ä¹æ°æ®ç»å®ãæ°æ®æéªã
. SpringMVC ä¹è§å¾åè§å¾è§£æ
. SpringMVC ä¹æ件ä¸ä¼ ãæ¬å°å解æ
. SpringMVC ä¹éæèµæºå¤çã请æ±æ¦æªå¨ãå¼å¸¸å¤ç
. Oracle æ°æ®åºç¯å¢æ建ãå®è£
. Oracle æ°æ®åº SQLãå页ãå¤ä»½ãè¿å
. Hibernate æ¦å¿µãä¾èµ
. HQL æ¥è¯¢è¯è¨
. Hibernate ä¸é ç½®å ³èæ å°
. HQL è¿æ¥æ¥è¯¢ä¸ Hibernate 注解
. Struts 2 æ¦å¿µãä¾èµ
. Struts 2 é ç½®
. OGNL 表达å¼
. Struts 2 æ¦æªå¨
. SSH æ¡æ¶æ´å
. 使ç¨Maven æ建项ç®
. 使ç¨Struts 2 å®ç°Ajax
. Jsoup ç½ç»ç¬è«
. å¤çº¿ç¨ç½ç»ç¬è«
. åç¬åååç¬çç¥
. éç¨ç¬è«è®¾è®¡
. Echart å¾è¡¨åæ
. IKAnalyzer åè¯
. ä¼ä¸æ¡æ¶é¡¹ç®å®æ-代çå管çç³»ç»
. ä¼ä¸æ¡æ¶é¡¹ç®å®æ-SL ä¼ååå
. ä¼ä¸æ¡æ¶é¡¹ç®å®æ-ä¼å管çç³»ç»
.ä¼ä¸æ¡æ¶é¡¹ç®å®æ-äºèç½æèä¿¡æ¯ééåæå¹³å°
第åé¶æ®µï¼ åå端å离å¼å
. GitHub
. Git åºç¡(checkoutãpullãcommitãpushãmerge ç)
. Git è¿é¶(å¤åæ¯åä½)
. GitLab
. IDEA ç使ç¨
. Maven ä»ç»(æ¦å¿µãä»åºãæ建ãå½ä»¤)
. 使ç¨Maven æ建WEB 项ç®
. 使ç¨Maven æ建å¤æ¨¡å项ç®
. 使ç¨Maven æ建ç§æä»åº
. Scrum æ¡æ¶ä»ç»(ä¸ä¸ªè§è²ãä¸ä¸ªå·¥ä»¶ãå个ä¼è®®)
. Scrum Team ç»å»ºå¢é
. 产åéæ±åç¨æ·æ äº
. æ¯æ¥ç«ä¼
. 使ç¨ææ·-Scrum æ¹å¼å¼å管çå®æ
. åå端å离ãåå¸å¼é群æ¶æãåç´æ¶æ
. SSMï¼SpringMVC+Spring+MyBatisï¼æ´åå®æ
. GitãMaven ç§æNexus
. 第ä¸æ¹æ¥å ¥ææ¯ï¼å¾®ä¿¡ãé¿éï¼
. MySQL çµåå®æ
. Redisï¼ç¼åæå¡ï¼
. æç´¢å¼æ-Solr
. éæAPI Doc å·¥å ·-Swagger
. å¾çèªå¨åå¤çï¼Tengine+LUA+GraphicsMagic
. ææºãé®ç®±æ³¨å
. åç¹ç»å½ Token
. OAuth2.0 认è¯
. Jsoup ç½ç»ç¬è«(å¤çº¿ç¨ç¬è«/代ç IP ç¬è«)
. ExecutorService 线ç¨æ±
. IK ä¸æåè¯
. Postman
. ReactJS
. webpack
. èåºæååï¼ç®åæ°å
. ç¨åºç¿é¢è¯å®å ¸ä¹é¡¹ç®é¢è¯
.大åäºèç½æ 游çµå项ç®å®æ-ç±æ è¡
第äºé¶æ®µï¼ åå¸å¼å¾®ææ¶æå¼å
. Spring Boot ç¯å¢æ建
. Spring Boot 常ç¨æè½
. Spring Boot æ´åRedis
. Spring Boot æ´åMybatis
. å¾®æå¡æ¶æåæ¶æ设计
. æ¶æ¯éå
ActiveMQ\RabbitMQ
. åå¸å¼äºå¡
. åå¸å¼é Redis-setnx
. Zookeeper 注åä¸å¿
. åºäº ActiveMQ å®ç°é«å¹¶å
. Docker ç¯å¢æ建
. Docker éåå é
. Docker 容å¨ç®¡ç
. Docker éå管ç
. Docker 容å¨æ件å¤ä»½
. Dockerfile
. Docker ç§æä»åº
. çå®äºèç½é«å¹¶åçµå项ç®å®æ-ååä¸æ¢è´
. å¯è§åçæ§ Portainer
. Docker Compose 容å¨ç¼æ
. Docker Compose æ©å®¹ã缩容
. Docker Swarm é群ç¼æ
. Jenkins å®è£ ãæ件é ç½®
. Jenkins é ç½®æ®éä»»å¡
. Jenkins é 置管éä»»å¡
. Jenkins èªå¨åå¸æå¡
. Spring Cloud Eureka
. Spring Cloud Feign
. Spring Cloud Ribbon
. Spring Cloud Zuul
. Spring Cloud Config
. Spring Cloud Hystrix
. Spring Cloud Sleuth
. Spring Boot Admin
.Eureka 注ååçæ¢ç§
. Spring Cloud 大å解读
. Zipkin
. Zipkin æ´åRabbitMQ
. Zipkin æ´åMySQL
. ELK æ¥å¿æ¶é
.Kafka
. Elasticsearch æ å°ç®¡ç
. Elasticsearch æ¥è¯¢/å¤åæ¥è¯¢
. Elasticsearch é群/é群è§å
. Elasticsearch èå
. Elasticsearch é群çæ§
. Elasticsearch æ件
(Head/BigDesk)
. Mycat 读åå离
. Mycat ä¸ä¸»å¤ä»
. Mycat å¤ä¸»å¤ä»
. Mycat æ°æ®åç
. Redis
. Redis-Redlock
. Elasticsearch ç¯å¢æ建
. Elasticsearch 客æ·ç«¯
. Elasticsearch ç´¢å¼ç®¡ç
. Elasticsearch æ档管ç
. Mycat é群
. Jmeter 并åæµè¯
. Jmeter çææµè¯æ¥å
. 微信ç»å½
. 微信æ¯ä»
. æ¯ä»å®æ¯ä»
. ç¾åº¦å°å¾
. Sonar æ¬å°æ£æµ
. Sonar +Jenkins 线ä¸æ£æµ
. CI/CD
. Spring Boot æ¹é ç±æ è¡é¡¹ç®å®æ
. 大åäºèç½ç¥¨å¡ç±»çµå项ç®å®æ-å¤§è§ ç½
. ES6 æ¦å¿µ(lesãconst)
. ES6 对象åæ°ç»
. ES6 å½æ°æ©å±
. VUE ç¯å¢æ建
. VUE.JS æ令
.VUE 交äº
. VUE å®ä¾çå½å¨æ
. VUE ç»ä»¶
. VUE 项ç®ç¯å¢é ç½®ååæ件ç»ä»¶
.VUE è·¯ç±
第å é¶æ®µï¼ccæå¡
. Spring Cloud Gateway
. Consul
. Nacos
. EurekaãConsuãlNacosãZookeeper 对æ¯åæ
. Prometheus + Grafana
. ES åå¸å¼åå¨åç
. NoSQL æ°æ®åºè§£å³æ¹æ¡(RedisãMongoDB)
. OAuth2.0 认è¯( authorization code 模å¼)
. OAuth2.0 认è¯( implicit 模å¼)
. OAuth2.0 认è¯( resource owner password credentials 模å¼)
. OAuth2.0 认è¯( client credentials 模å¼)
. NAS/FastDFS åå¸å¼æ件åå¨
. Python åºç¡
. Python ç¬è«
. 大æ°æ®å Hadoop æ¦è¿°
. åå¸å¼æä»¶ç³»ç» HDFS
. åå¸å¼è®¡ç®æ¡æ¶MapReduce
. åå¸å¼åå¼æ°æ®åº HBase
. Hadoop 综ååºç¨
. é¢è¯å¤§å±è§
. èä¸è§å
. 项ç®é¢è¯
. å ·ä½ä¸å¡åºæ¯å解å³æ¹æ¡
. æ´å¤ææ¯ä¸é¢æç»å¢å ä¸
æ估计è½æä½ çæï¼æä¸æ¸ æ¥çå¯ä»¥ç§ä¿¡æ