caffe

MATLAB下跑Faster-RCNN+ZF实验时如何编译自己需要的external文件

社会主义新天地 提交于 2020-04-14 14:27:24
【推荐阅读】微服务还能火多久?>>> 本篇文章主讲 这篇博客 中的(http://blog.csdn.net/sinat_30071459/article/details/50546891)的这个部分,如图所示 注:截图来自 小咸鱼_ 的博客。 也就是说本文重点教你如何去编译你自己需要的mex文件。 1.准备工作 首先先提醒一下,假如你的显卡的显存还不够3G,那么快去换设备吧,不然好不容易搭好了环境发现实验跑不了岂不是很坑?? 话说我之前也是不会自己编译,也是从网上各种找别人编译好的external文件,然后按照别人的软件环境,再从自己的电脑上装相应的环境,简直烦!于是终于决定自己学一学怎么去自己编译需要的external文件,好了,废话不多说,让我们进入正题。 1)所需软件 我先说明一下我用到的软件: (1)VS2013(update5版本的,不是的话自己去升级,升级的方法 戳这里 ) (2)MATLAB2014b(你可以装其他版本的,这个你随意) (3)CUDA6.5(你同样可以装其他你需要的版本) (4)openCV 2.4.9(没有的话 戳这里 ,提取密码: c6b2) (5)boost_1_57_0(没有的话还是 戳这里 ,提取密码:fiy7) (6)MKL(还是 戳这里 ,提取密码:pwi7) 上面的安装顺序最好不要乱,否则可能出现Matlab找不到vs的情况

OpenCV+OpenVINO实现人脸Landmarks实时检测

断了今生、忘了曾经 提交于 2020-04-07 07:23:25
缘由 自从OpenCV3.3版本引入深度神经网络(DNN)模块之后,OpenCV对DNN模块支持最好的表现之一就是开始支持基于深度学习人脸检测,OpenCV本身提供了两个模型分别是基于Caffe与Tensorflow的,Caffe版本的模型是半精度16位的,tensorflow版本的模型是8位量化的。同时OpenCV通过与OpenVINO IE模型集成实现了底层硬件对对象检测、图像分割、图像分类等常见模型加速推理支持。OpenVINO框架本身提供直接快速开发应用原型的模型库,对很多常见视觉任务都可以做到快速演示支持。说起人脸的Lankmarks提取,最早的OpenCV跟DLib支持的方式都是基于AAM算法实现的68个人脸特征点的拟合模型,另外OpenCV中支持landmark的人脸检测会先加载一个很大的模型文件,然后速度感人,觉得还有很大的改进空间。好处是OpenCV自己提供了一个训练工具,可以自己训练模型。常见的MTCNN同时实现了人脸检测跟landmarks检测,但是只支持5点检测。而OpenVINO自带的Landmark检测模型基于自定义的卷积神经网络实现,取35个人脸各部位关键点。 人脸检测模型 使用OpenCV DNN模块人脸检测的tensorflow量化8位模型 opencv_face_detector_uint8.pb权重文件 opencv_face_detector

window 学习Caffe 深度学习 以及 TensorFlow google人工智能引擎

我是研究僧i 提交于 2020-04-07 01:06:30
1.TensorFlow 中文教程 : http://www.tensorfly.cn/ 2. Caffe教程 http://caffe.berkeleyvision.org/tutorial/ 这个方法其实很简单 就是按照docker 在windows环境下 。使用docker虚拟化方式很快捷的就能虚拟化所需要的环境,即使正式环境 同样使用docker来管理 维护。 大家可以多去了解一下 docker docker的优越性,无论是什么环境,使用docker 可以至始至终保持统一环境。 https://github.com/boot2docker/windows-installer/releases/download/v1.8.0/docker-install.exe 首先进入该页面 下载windows 版本 并按照 这里 还不能直接点击Docker 因为CPU 默认关闭了虚拟化 设置,你需要进入bios界面,选择Virtual 那一项切换到enable 重启后 我们点击打开上面的Docker 其实也可以使用官方的工具箱 ,不过需要配置代理一些东西。 docker基本命令使用 http://www.docker.org.cn/book/docker.html 学习网址 摘录 http://my.oschina.net/huangyong/blog/372491?fromerr

唐宇迪-人工智能学习路线(下篇)

社会主义新天地 提交于 2020-04-06 15:02:42
唐宇迪:51CTO微职位讲师,计算机博士,人工智能专家 内容梗概: 介绍人工智能学习步骤和知识框架。人工智能的学习可以拆分为7步,此为4-7步:下篇。 第4步:深度学习 1)深度学习概述 终于说到深度学习了,都需要学什么呢? 深度学习可以说是当下最好用的算法了,各个领域都能吃得开。其实最核心的还是在计算机视觉和自然语言处理中,因为神经网络算法更适用于图像和文本数据。 主要需要掌握的就是算法和框架了,算法就是CNN,RNN这些经典网络模型,框架就是实战的工具了例如tenorflow,Pytorch等,后面还会详细说。 深度学习听起来比较高大上,是不是比机器学习难很多? 好像现在好多小伙伴一拿到任务,第一个想法都是直接用深度学习做。如果深度学习难度大,做起来麻烦,那还能有这么高的热度吗? 其实恰恰相反,我觉得深度学习真的比机器学习简单很多,在机器学习中需要我们对不同的数据选择不同的预处理方法和特征工程构建方法。 深度学习中的套路相对来说更固定一些,而且有这些开源框架和各大经典网络架构,我们通常需要做的就是套用就可以了。整体难度要比机器学习任务更容易一些(只是相对来说!)。 2)深度学习必备算法 深度学习都需要学哪些算法呢? 算法名称 内容概述 神经网络 神经网络是最基础的,相当于为后面网络的学习打下基础 卷积神经网络 这个大家听起来很熟悉吧,深度学习中的大哥大!计算机视觉的核心网络

caffe多GPU上手

狂风中的少年 提交于 2020-04-06 09:30:33
最新的caffe,增加了一个nccl的模块,用于支持多个GPU的运行。只需要在终端的 -gpu 参数加入0,1,2,3 配置环境:Ubuntu14.04 Mate + CUDA8.0 +NVIDIA1080Ti (X2) + matlab2015a +caffe(最新版) 需要安装NCCL $ git clone https://github.com/NVIDIA/nccl.git $ cd nccl $ sudo make install -j4 只需要然后在caffe 的config文件中注释去掉USE_NCCL := 1即可编译。 如果中途出现一些问题,可能原因可以去NCCL的github论坛里面找,还有如果gcc版本太低,也会出现编译错误,gcc需要最低版本4.8。 官方的多GPU的caffe编译成功。 接下来是做分割的Segnet网络的多GPU编译及其使用。 首先原来剑桥大学源码Segnet,https://github.com/alexgkendall 不支持多个GPU训练,很坑爹,batchsize只能设置为4,(480x360)。 然后下载https://github.com/developmentseed/caffe/tree/segnet-multi-gpu 接下来就是编译,其他按照标准的caffe教程安装。 如有想了解中间修改过程的可以参考: https:/

挑战 TensorFlow 与 PyTorch,3 月深度学习框架集中爆发

最后都变了- 提交于 2020-04-06 09:27:58
2016 年,百度发布深度学习开源框架 PaddlePaddle(飞桨) ; 2020 年 3 月, 华为开源自研全场景 AI 计算框架 MindSpore ; 旷视开源深度学习框架 MegEngine(天元) ; 清华大学发布基于元算子和动态编译的深度学习框架 Jittor(计图) ; …… 2016 年百度推出深度学习开源框架 PaddlePaddle , 此后长时间内,似乎没有出现一款让人惊艳的同量级与同类型 的国产 开源框架。然而, 今年 3 月份,突然的爆发打破了宁静 —— 华为、旷视与清华大学在今年 3 月相继开源各自研发的深度学习框架,吸引了众多国内外开发者的关注—— 深度学习 开源 框架这把火在开源大浪潮的今天要在国内燎原了。 深度学习框架对人工智能的发展来说意义重大。要 知道,AI 开发者不能每开发一个 功能 就从最底层重新来过,所以想要进行算法训练、模型开发、应用部署,就必须在一定的开发平台上来完成。从前,主流的深度学习框架都由国外机构或公司研发,从最开始蒙特利尔大学与伯克利大学推出的 Theano、 Caffe 框架 ,到现在谷歌维护的 TensorFlow、 Facebook 推出的 PyTorch,人工智能产业在前人的积累上得以快速发展。 当前 TensorFlow 与 PyTorch 仍然 占据着该领域的制高点,而 3 月份国内的几大框架齐发

百度智能边缘集成EasyEdge,快速实现边缘AI模型推断

余生长醉 提交于 2020-04-06 08:37:21
本文作者:天工智能物联网 在人工智能领域,深度学习代表了当下较为火热的机器学习技术,深受学术界与产业界重视。 由于深度学习模型的高准确率与高可靠性,深度学习技术已在计算机视觉、语音识别与自然语言处理领域取得了广泛的成功应用。深度学习模型也如雨后春笋般涌现,并且越来越多的模型被开源。 在最早期,受限于深度学习模型对于算力的需求,模型大多是”云端训练、云端推理“。然而”云端推理“模式需要将大量的数据(如图像和视频数据)通过高延迟、带宽波动的广域网从边缘端传输至云端。在离线或者低延时要求的场景下,无法满足实际需求。 随着AI芯片的兴起,边缘算力的逐步增强,将模型推理下放到边缘侧已经成为当前的一大主流趋势。 虽然算力支持在边缘进行模型推断,但是模型的使用复杂度与门槛依然很高,为了调用模型需要编写许多代码,为了适配端侧不同的芯片与操作系统,还需要对原始模型不断进行修改、优化、调参等操作。 为此,很多研究人员都在研究如何降低模型的使用门槛, 让模型的应用者专注于业务,将模型做成服务一样按需调用,实现边缘侧的model as a service。 百度智能边缘+EasyEdge集成就很好的解决了这个问题。 EasyEdge是什么? EasyEdge是百度基于Paddle Mobile研发的端计算模型生成平台,能够将原始深度学习模型快速生成适配于边缘节点和智能终端的端侧模型。

Yolov3转化Caffe框架详解

主宰稳场 提交于 2020-03-25 12:07:26
3 月,跳不动了?>>> 1.Yolov3的网络结构 想要转化为Caffe框架,就要先了解yolov3的网络结构,如下图。 如果有运行过darknet应该会很熟悉,这是darknet运行成功后打印log信息,这里面包含了yolo网络结构的一些信息。yolov3与v2相比,网络结构中加入了残差(shortcut层),并且引入了上采样(upsample层),并为了将采样后的特征图进行融合引入了拼接(route层),最后融合的特征图以三个不同的大小13*13*75,26*26*75,52*52*75输入给yolo层最后得到目标的位置及分类信息,加上卷积层convolution,这些便是yolov3的网络基本构造。因此只要我们如果在Caffe中找到对应的层按照相应的进行构造就能够使用Caffe实现yolov3了。 卷积层不说,yolov3中的shortcut层可以用eltwise替代,route层可以用concat替代,而upsample层和yolo层则需要自己实现,并添加到Caffe中即可。upsample层主要完成了上采样的工作,这里不细说。本文主要讲一下yolo层如何实现,上图中的YOLO Detection即为yolo层的所在位置,接收三种不同大小的特征图,并完成对特征图的解析,得到物体的位置和类别信息。所以其实yolo层主要起到了解析特征并输出检测结果的作用

机器学习工程师面试题集锦附指南:互联网篇

痞子三分冷 提交于 2020-03-24 08:16:40
3 月,跳不动了?>>> 机器学习工程师是现在的热门职位,因为其极高的薪资成为很多技术人的晋升目标。本文总结了部分一线互联网公司机器学习工程师的面试题及面试指南,希望对各位技术人员的进阶之路有所帮助。 阿里巴巴 根据参加过阿里巴巴机器学习算法工程师面试的技术人员反馈,总共需要经过四轮面试,前两轮为技术考察,第三轮是交叉面试,最后一轮是人力面试。每轮面试大概持续时间为40到50分钟,面试内容由项目经验询问和基础机器学习算法询问两部分组成。 基础机器学习算法主要包括LR和SVM有什么区别 ,libsvm和liblinear有什么区别,常用的统计量的含义, 稀疏特征如独热编码 ,维度很大,输入神经网络怎么降维,FFM算法的原理,谈谈你对特征工程的认识,LR优化方法之间的区别, 逻辑回归的概念 , EM,K-means等问题 。面试官会给出一些场景,询问求职者如何处理数据,如何建模。 可能会碰到算法题和智力题,但数量不会很多。根据反馈,算法题可能会与数组相关,比如存在一个数组,大小为98,里面的元素均为[1,100]区间内,且无重复, 不申请额外空间的情况下,在时间复杂度为O(N)情况下,找出确定的两个元素值。 华为 基础知识部分可能会让技术人员介绍几个简单的机器学习模型的主要思想,比如 贝叶斯、SVM 等。除此之外,都是一些概念问题:决策树和adaboost的区别;介绍你曾经做过的项目

Could not find PROTOBUF Compiler

吃可爱长大的小学妹 提交于 2020-02-03 08:02:11
问题 I'm trying to do a CMake with Caffe, but my system cannot find protobuf compiler. I have previously installed protobuf2.7.0. Now I switched back to 2.6.1. How could I configure my CMake to recognize the protobuf2.6.1 compiler? I have done $ sudo apt-get install libprotobuf-dev protobuf-compiler $ protoc --version libprotoc 2.6.1 But when I try to cmake Caffe, it still gives me the error user@user-computer:~/caffe/build$ cmake -DBLAS=open .. -- Boost version: 1.58.0 -- Found the following