
caffe
文章平均质量分 53
落花逐流水
从事人工智能,模式识别与智能系统
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深度学习做回归
任意四边形四个顶点坐标的回归可以理解成四个关键点检测,这四个关键点就是物体的四个顶点。(卡式证件的四个顶点)最近项目需要用到caffe来做关键点的回归,即通过caffe来训练一个网络,输出的结果不是简单地类别,而是一些坐标(浮点数)。下面的这篇博文对caffe做回归有一个比较好的介绍:http://www.cnblogs.com/frombeijingwithlove/p/5314042.html这篇博文使用的是HDF5+python的方式。而我采用的是直接修改caffe的.cpp文件,并重新编译的原创 2021-06-25 21:48:43 · 1474 阅读 · 1 评论 -
caffe python(一)
import numpy as npimport matplotlib.pyplot as pltimport osimport sysimport timeit# set default display parametersplt.rcParams['figure.figsize'] = [10, 10] # image display sizeplt.rcParams['image.interpolation'] = 'nearest' # nearest interpolati.原创 2021-05-30 22:32:03 · 98 阅读 · 0 评论 -
caffe源码阅读笔记(一)
caffe代码量5万行左右,比较简洁。caffe 是个轻量级的深度学习库,在计算机视觉领域用的比较多。提升代码能力有两种途径,一是多写,二是多读。相比自己写bug ridden 的代码,读优秀的代码是一件非常愉快的事情。caffe代码量5万行左右,比较简洁,但是这5万多行代码却支撑了很多公司的业务,从这点看,这5万多行代码非常值得你花几天读一读。接下来,本文梳理一下caffe代码的骨架,希望对对caffe 源码感兴趣的读者有所帮助。caffe 项目主要目录data\ //该目录包含下载原创 2021-05-30 22:30:20 · 265 阅读 · 0 评论 -
caffe支持动态图 动态尺寸
caffe是开源较早的深度学习框架,并且已经停止更新了。所以很多新的算法在caffe中实现都要花费一些功夫。比如动态图模型,pytorch、tensorflow2、paddle都支持动态图。caffe支持动态图么,不确定,所以就搜了一下,具体还有待测试。针对一些输入数据维度可变的模型,如faster rcnn,caffe用来定义模型结构的prototxt文档头部有一个input_shape,在这个shape当中,是需要指定dim为特定维度的。针对这种情况,只需要输入的维度能够在网络的前向计算和.原创 2021-04-16 16:44:10 · 323 阅读 · 0 评论 -
OpenBlas0.3.14编译
可以zip文件下载,也可以git下载。git下载:git clone -b v0.3.14 https://github.com/xianyi/OpenBLAS.git参考:Windows使用mingw编译openblas参考:Windows 10 VS2015 环境下安装使用BLAS线性代数库参考:Windows下MSYS2中编译OpenBLAS过程记录...原创 2021-04-12 19:25:09 · 642 阅读 · 0 评论 -
caffe学习参考
见到的成系列的学习笔记记录如下:caffe的python接口学习(1):生成配置文件caffe的python接口学习(2):生成solver文件caffe的python接口学习(3):训练模型(training)caffe的python接口学习(4):mnist实例---手写数字识别caffe的python接口学习(5):生成deploy文件caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片...原创 2021-04-11 10:32:00 · 118 阅读 · 0 评论 -
caffe训练测试与部署的不同
如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。...原创 2021-04-11 10:31:06 · 133 阅读 · 0 评论 -
opencv调用caffe模型
我是用的是opencv4.1.1,加载的模型是bvlc_reference_caffenet.caffemodel,本来想找单独的猫狗分类模型的,结果没有找到,就用这个代替了,deploy.prototxt用的是caffe-windows\models\bvlc_alexnet\deploy.prototxt。 分别把这两个文件放到测试程序的model文件夹下,bvlc_reference_caffenet.caffemodel重命名成model.caffemodel。并找了一张猫的图片放到image文件原创 2021-04-11 10:23:21 · 1322 阅读 · 0 评论 -
caffe训练验证码识别
跟着参考博客,把数据集的准备和制作、深度网络模型的设计、训练和测试的流程走一遍。博主是用深度学习做多任务分类的思路来识别验证码。多任务学习是针对数据给出多个监督信息(标签)进行学习,例如识别一张图像中的脸是否是人脸、脸部表情、性别、年龄等,识别图像中车的颜色、车型、姿态等,都属于多任务分类。项目用深度学习做多标签分类,是用深度神经网络对整张验证码图片进行多标签学习,来完成多任务分类,端到端的识别出验证码中的所有字符。这种思路同样可以用于车牌识别中。用深度学习来做验证码识别,优势在于,只需要找一个合适的原创 2021-04-03 21:34:14 · 686 阅读 · 0 评论 -
caffe训练自己的数据
之前学习caffe一直到mnist训练就停止了,因为没有自己的数据。后来参考一些博客整理了一下其他数据集的训练。一、准备数据这个是参考博客中准备的数据,共有500张图片,分为大巴车、恐龙、大象、鲜花和马五个类,每个类100张。需要的同学,可到网盘下载:http://pan.baidu.com/s/1nuqlTnN编号分别以3,4,5,6,7开头,各为一类。我从其中每类选出20张作为测试,其余80张作为训练。因此最终训练图片400张,测试图片100张,共5类。我将图片放在caffe根目录下的dat原创 2021-04-03 12:21:26 · 183 阅读 · 0 评论 -
caffe的训练
For example, you can run:# train LeNetcaffe train -solver examples/mnist/lenet_solver.prototxt# train on GPU 2caffe train -solver examples/mnist/lenet_solver.prototxt -gpu 2# resume training from the half-way point snapshotcaffe train -solver examp原创 2021-04-03 11:28:49 · 123 阅读 · 0 评论 -
caffe_ocr中文识别(二)训练
参考:Windows Caffe 学习笔记(三)在Caffe上训练和测试自己的数据参考:Caffe_Windows学习笔记(二)用自己的数据训练和测试CaffeNet参考:caffe模型训练全过程(一)脚本、数据准备与制作参考:Windows10下使用Caffe训练神经网络(含数据库的生成方法)...原创 2021-04-01 23:27:59 · 1105 阅读 · 3 评论 -
caffe_ocr中文识别(一)测试
我是用的是这个资源:https://github.com/senlinuc/caffe_ocr关于详细信息可以阅读这个链接的README.md。测试:1. 编译caffe-vsproj/libClassification,修改自examples\cpp_classification,实现了模型加载、预测等基本功能。 2. 编译caffe-vsproj/ocr_test,实现了中文、英文ocr模型的测试功能,英文ocr包含了直接预测和词典辅助预测(英文词典文件examples/ocr/lex..原创 2021-04-01 21:51:51 · 576 阅读 · 0 评论 -
Caffe Solver
1、Caffe SolverCaffe Solver通过协调Net的前向推断计算和反向梯度计算对参数进行更新,从而达到减小loss的目的。Caffe模型的学习分为两个部分:Solver优化、更新参数、以及Net计算loss和gradient。Caffe支持Solvers有:Stochastic Gradient Descent (SGD)随机梯度下降 AdaDelta Adaptive Gradient(AdaGrad)自适应梯度 Adam Nesterov's Accelerated原创 2021-03-22 22:49:37 · 166 阅读 · 0 评论 -
Caffe Layer
1、Caffe LayerLayer时Caffe模型的本质内容和执行计算的基本单元,可进行多种运算,如convolve(卷积)、pool(池化)、innerproduct(内积)、rectified-linear和sigmoid等非线性运算,还有元素级的数据变换、normoalize(归一化)、load data(数据加载)、softmax和hinge等lossses(损失计算)。在Caffe的Layer catealogue层目录中可以查看所有的操作,也可以查看到绝大部分目前最前沿的深度学习任务的层类原创 2021-03-22 22:35:49 · 270 阅读 · 0 评论 -
Caffe Blob
Caffe BlobCaffe使用Blob结构来存储、交换和处理网络中正向和反向迭代的数据和导数信息。Blob是Caffe的标注数组结构,提供了Caffe的统一内存接口。Blob是Caffe中处理和传递实际数据的数据封装包,并且在CPU与GPU之间具有同步处理能力。Blob还可以根据CPU主机到GPU设备的同步需要,屏蔽CPU/GPU混合运算在计算上的开销。主机和设备上的内存按需求分配,以提高内存的使用效率。一般对批量图像数据,Blob的维度为图像数量N×通道数K×图像高度H×图像宽度W。Blo原创 2021-03-22 21:52:54 · 319 阅读 · 0 评论 -
Caffe数据库
1、Caffe数据库Caffe的数据层支持三种格式的数据库输入:LevelDB、LMDB和HDF5。原始图片文件可以通过convert_imageset.cpp转换成Caffe框架支持的数据文件格式,此文件源代码在tools文件夹下,生成的可执行文件在build/tools目录下,使用命令说明如下:convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME此工具有四个参数,如下所述。FLAGS:图片数组,主要包括-gray是否为灰度图片,-s原创 2021-03-22 21:14:34 · 305 阅读 · 0 评论 -
Caffe网络定义
1、caffe模型要素Caffe的模型需要两个重要的参数文件:网络模型和参数配置,分别是*.prototxt和*.solver.prototxt。1.1、网络模型Caffe的网络模型文件定义了网络的每一层行为,下图是netron 在线画出的LeNet模型。LeNet模型文件内容如下name: "LeNet"layer { name: "data" type: "Input" top: "data" input_param { shape: { dim: 64 di原创 2021-03-21 22:31:07 · 207 阅读 · 0 评论 -
Caffe接口
Caffe深度学习框架支持多种编程接口,包括命令行、Python和Matlab。1、Caffe Python接口1.1、接口功能Caffe提供Python接口,即Pycafffe,具体实现在caffe/python文件夹内。在Python代码中import caffe,可以load models(导入模型)、forward and backward(前向、反向迭代)、handle IO (数据输入输出)、visualize networks(绘制net)和instrument model sol原创 2021-03-21 21:44:09 · 244 阅读 · 0 评论 -
关于Caffe要写的内容
1、caffe的python接口和命令行接口。2、Caffe网络定义。3、Caffe的各种模型。Caffe模型:LeNet模型、AlexNet模型、GoogLeNet模型、VGGNet模型、Siamese模型、SqueezeNet模型、FCN模型、R-CNN模型、Fast-RCNN模型、Faster-RCNN模型、SSD模型。...原创 2021-03-18 23:41:17 · 115 阅读 · 0 评论 -
Caffe的依赖库
1、Boost库Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容,它在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,与编译平台无关。Caffe采用C++作为主开发语言,其中大量的代码依赖于Boost库。2、CFlags库CFlags库是Google的一个开源的处理命令行参数的库,使用C++开发,可以替代getopt函数。C原创 2021-03-18 23:31:31 · 326 阅读 · 0 评论 -
caffe 加解密
参考:caffe模型加密算法实现参考:深度学习:caffe模型加密参考:caffe 模型修改 加密解密原创 2021-03-17 19:25:25 · 279 阅读 · 0 评论 -
关于caffe 模型的一些想法
caffe模型一般有三个,标签文件(后缀txt)、模型描述文件(后缀prototxt)、模型文件(后缀model),维护很多文件会让人心烦意乱,所以可以将这三个文件合并,合并的原理就是读取三个文件,写进一个文件,使用的时候再从一个文件中读取需要的三个部分。貌似所有文件类型都支持二进制读写,所以合并和分割都以二进制进行。在合并的时候将原来的文件名、大小等等信息写到新的文件中的开始部分,在还原的时候通过读取这些信息来还原原来的文件,我做过类似的程序,是进行文件切割的,可以将一个大的文件切割成若干个.原创 2020-10-30 15:58:14 · 303 阅读 · 0 评论