
深度学习
文章平均质量分 97
bingqingsuimeng
这个作者很懒,什么都没留下…
展开
-
多标签分类及其 caffe 实现总结
一直对多标签分类(multi-label)“情有独钟”,因为一直感觉没有完全弄懂它。最近看博客看多了,看着看着突然有点感觉,所以就把目前的理解整理一下写下来。 目前我看到的多标签分类任务有下面的两种情况(如有错误,欢迎交流指正):每个样本对应多个label,label的值非0即1,最后的损失函数使用SigmoidCrossEntropyLoss,比如:fig1.jpg 0 0 1 fi...转载 2018-04-16 09:44:40 · 948 阅读 · 0 评论 -
实战caffe多标签分类——汽车品牌与车辆外观(C++接口)[详细实现+数据集]
前言很多地方我们都需要用到多标签分类,比如一张图片,上面有只蓝猫,另一张图片上面有一只黄狗,那么我们要识别的时候,就可以采用多标签分类这一思想了。任务一是识别出这个到底是猫还是狗?(类型)任务二是识别出这是蓝还是黄?(颜色) 网上看了几篇教程,有讲的非常好的,也有出bug飞上了天的(吐槽啊喂!)这里还是主要讲讲这篇:http://chuansong.me/n/494753151240。我自己已经测...转载 2018-04-16 09:45:40 · 1422 阅读 · 0 评论 -
caffe多任务学习之多标签分类
最近在参加一个识别的竞赛,项目里涉及了许多类别的分类,原本打算一个大的类别训练一个分类模型,但是这样会比较麻烦,对于同一图片的分类会重复计算分类网络中的卷积层,浪费计算时间和效率。后来发现现在深度学习中的多任务学习可以实现多标签分类,所有的类别只需要训练一个分类模型就行,其不同属性的类别之间是共享卷积层的。我所有的项目开发都是基于caffe框架的,默认的,Caffe中的Data层只支持单维标签,不...转载 2018-04-16 09:46:17 · 513 阅读 · 0 评论 -
一些功能的layer:
一些功能的layer:splitting(把一个输入分成多个输出),类型:splitting在caffe.proto里为什么没有找到呢.它的作用就是把一个输入复制为多个输入哦; Flattening:类型为:Flatten偏平的意思,如 flattens an input of shape n * c * h * w to a simple vector output of shape n * (...转载 2018-04-16 09:46:54 · 549 阅读 · 0 评论 -
MTCNN训练整理
MTCNN主要包括三个部分,PNet,RNet,ONet其中PNet在训练阶段的输入尺寸为12*12,RNet的输入尺寸为24*24, ONet的输入尺寸为48*48. PNet网络参数最小,ceffemodel仅有28.2KB, 所以速度最快.RNet的网络参数次之,caffemodel大小为407.9KB, ONet的caffemodel大小为1.6M,三个网...转载 2018-04-16 13:16:16 · 1151 阅读 · 0 评论 -
Ubuntu中sudo apt-get update很慢解决办法
1 sudo gedit /etc/apt/sources.list,清空文件内容2 打开软件更新器,所有选项都不要选3 全选,点击其它站点4 选择最佳服务器,等待5 重新载入,问题解决转载 2018-04-19 09:36:46 · 12535 阅读 · 2 评论 -
ubuntu 安装 google Gtest
最近在做一些东西,用过gtest,废话少说,现讲其再ubuntu上安装的 方法贴出来,以供朋友们参考:安装gtest分三步:1.安装源代码在ubuntu的桌面上,右键选择打开终端,在终端中输入如下命令:$sudo apt-get install libgtest-dev1下载源码后,apt将会在目录/usr/src/生成gtest文件夹来存放源码.2. 编译源代码接着刚才的命令,我们继续再刚才打开...转载 2018-04-27 10:04:29 · 3952 阅读 · 0 评论 -
cuda的统一内存寻址 cudaMalloc VS cudaMemcpy
大家知道,Nvidia公司发布的CUDA6开发包拥有一个新特性,就是“统一内存寻址”,那究竟统一内存寻址有什么特殊的地方呢?我们编写CUDA代码跟以前有什么区别呢?现在拥有的GPU架构能够很好的支持吗?我们带着这些问题开始我们的话题。从名字上看,统一内存寻址就是将CPU端的内存同GPU显存统一起来,使得程序猿在编写代码的时候不用明显的使用诸如cudaMalloc或者cudaMemcpy等操作显存...转载 2018-04-27 15:02:16 · 4303 阅读 · 0 评论 -
使用TortoiseGit处理代码冲突
场景一 user0 有新提交user1 没有pull -> 写新代码 -> pull -> 提示有冲突 解决办法一-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as ...转载 2018-04-27 15:23:17 · 2421 阅读 · 0 评论 -
Protobuf消息定义
消息由至少一个字段组合而成,类似于C语言中的结构。每个字段都有一定的格式。字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]①.限定修饰符包含 required\optional\repeated Required: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够识别该字段的意思。发送之前没有设置re...转载 2018-04-27 16:17:48 · 1605 阅读 · 0 评论 -
编译caffe时提示未定义的引用(undefined reference to)
转载请注明出处:http://www.cnblogs.com/darkknightzh/p/5864715.html参考网址:https://github.com/BVLC/caffe/issues/3396今天编译caffe代码,make all时,提示未定义的引用(undefined reference):CXX/LD -o .build_release/examples/cifar10/co...转载 2018-04-28 11:44:22 · 3478 阅读 · 0 评论 -
ffserver 搭建rtsp视频和音频服务器
视频:1.ffserver.confRTSPPort 8554BindAddress 0.0.0.0RTSPBindAddress 0.0.0.0MaxHTTPConnections 2000MaxClients 1000MaxBandwidth 30000CustomLog -NoDaemon#NoDefaults<Stream hh.264>File "/home/wht/shar...转载 2018-05-28 15:08:14 · 3730 阅读 · 0 评论 -
terminal中快速查找之前的命令
Ctrl-r: reverse-i-searchCtrl-s: i-search原创 2018-06-06 09:25:38 · 5314 阅读 · 0 评论 -
C++11中lock_guard和unique_lock的区别
C++11中有一个区域锁lock_guard,还有第二个区域锁unique_lock。 区域锁lock_guard使用起来比较简单,除了构造函数外没有其他member function,在整个区域都有效。 区域锁unique_guard除了lock_guard的功能外,提供了更多的member_function,相对来说更灵活一些。 unique_guard的最有用的一组函数...转载 2018-06-07 11:33:22 · 3299 阅读 · 3 评论