caffe学习笔记13 -- Setup

Caffe学习笔记(1)--Python接口 前言使用caffe也有一小段时间了,但是对于caffe的python接口总是一知半解,最近终于能静下心来,仔细阅读了caffe官方例程,并写下此博客。博文主要对caffe自带的分类例程00-classification.ipynb做了详细的注释,相信能加强这方面的理解。准备工作加载必要的库import numpy as np #加载numpy import matplotlib.pyplot as 阅读详情

这是caffe文档中Notebook Examples的最后一个例子,链接地址:http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/siamese/mnist_siamese.ipynb

这个例子将mnist降至2维, 可以将其特征可视化


1. 导入相应的包

import os
caffe_root = '/home/sindyz/caffe-master/'
os.chdir(caffe_root)
import sys
sys.path.insert(0,'./python')

import numpy as np
import matplotlib.pyplot as plt

import caffe

2. 载入模型和参数(如果没有运行过这个实例,按照readme的提示运行一下,就可以得到参数文件)

Model_file = "examples/siamese/mnist_siamese.prototxt"
Param_file = "examples/siamese/mnist_siamese_iter_50000.caffemodel"

caffe.set_mode_cpu()
net = caffe.Net(Model_file, Param_file, caffe.TEST)

3. 载入mnist数据

Test_Data_File = "data/mnist/t10k-images-idx3-ubyte"
Test_Label_File = "data/mnist/t10k-labels-idx1-ubyte"

n = 10000
with open(Test_Data_File, 'rb') as f:
    f.read(16) # skip the header
    raw_data = np.fromstring(f.read(n * 28*28), dtype=np.uint8)

with open(Test_Label_File, 'rb') as f:
    f.read(8) # skip the header
    labels = np.fromstring(f.read(n), dtype=np.uint8)

4. 生成关联特征

# reshape and preprocess
caffe_in = raw_data.reshape(n, 1, 28, 28) * 0.00390625 # manually scale data instead of using `caffe.io.Transformer`
out = net.forward_all(data=caffe_in)

5. 可视化

# reshape and preprocess
caffe_in = raw_data.reshape(n, 1, 28, 28) * 0.00390625 # manually scale data instead of using `caffe.io.Transformer`
out = net.forward_all(data=caffe_in)

feat = out['feat']
f = plt.figure(figsize=(16,9))
c = ['#ff0000', '#ffff00', '#00ff00', '#00ffff', '#0000ff', 
     '#ff00ff', '#990000', '#999900', '#009900', '#009999']
for i in range(10):
    plt.plot(feat[labels==i,0].flatten(), feat[labels==i,1].flatten(), '.', c=c[i])
plt.legend(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
plt.grid()
plt.show()

输出:



参考资料:

http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/siamese/mnist_siamese.ipynb#Visualize-the-learned-Siamese-embedding

http://caffe.berkeleyvision.org/gathered/examples/siamese.html









Caffe框架解析:从Blob到Net的深度学习架构设计 深度学习框架作为实现神经网络的核心工具,其架构设计直接影响模型训练效率与工程落地效果。以Caffe为代表的早期框架采用分层设计理念,通过Blob数据容器、Layer计算单元和Net网络组装的三层架构,实现了高效的卷积神经网络处理。在计算机视觉领域,这种模块化设计配合GPU加速,显著提升了图像分类、目标检测等任务的执行效率。Caffe独特的prototxt配置方式让研究者能快速复现论文模型,而其内存复用机制和im2col+GEMM的卷积实现方案,至今仍是优化推理速度的经典范式。随着ONNX等跨框架生态的发展, 阅读详情

相关推荐

麒麟v10(ky10.x86_64)升级——openssl-3.2.2、openssh-9.8p1

执行命令: make -j 4 && make install 这里要等待一段时间,等待编译完成。执行命令: ./configure --prefix=/usr/local/src/zlilb。执行命令: ./config --prefix=/usr/local/src/openssl。执行命令: make -j 4 && make test && make install。执行命令: make -j 4 && make install。执行命令: /etc/init.d/sshd restart。

X_yufei的博客 7427

caffe学习笔记--实现CNN各层特征可视化

        最近在阅读CNN visual convolution network论文,希望能使用caffe实现CNN的各层特征可视化,而不仅限于绘制网络结构图或者损失曲线图,所以查阅caffe官方教程和相关博客后,对caffe自带的分类例程00-classification.ipynb进行了测试运行,下面进行一些程序的讲解,希望能加强理解。 PS:caffe实现可视化借助jupyter n...

小熊猫的博客 5912

Word多级标题出现黑块的解决思路(word 数字必须介于1-1638之间)

遇到多级目录出现黑块问题,看到一篇博客完美解决,在此记录。

AI_Optimization的博客 3714

【caffe范例详解】 - 1.Classification分类

1. 安装 首先,导入numpy和matplotlib库 # numpy是常用的科学计算库,matplot是常用的绘图库 import numpy as np import matplotlib.pyplot as plt # 在notebook中展示图例 %matplotlib inline # 设置图例展示的默认参数 plt.rcParams['figure.figsize'] = (1...

weixin_30472035的博客 196

【Linux】实际项目应该如何完成?--安防监控系统项目的总结

到目前为止我也做个5、6个嵌入式项目,但以往都是从零开始自己做,也就是毫无计划,想到那里做那里,有想法就会去实现,就这样导致我碰到了很多坑,也消耗了我许多时间,当然,不是说这样不好,因为在其中我也得到了一个很好的锻炼与练习,但是这不适用于在工作中去这样做。...

修成真的博客 6724

车载以太网入坑指南,从小白到懂哥的进阶之路【技术分享】

各位技术大佬们好!最近公司项目涉及到车载以太网,刚开始完全懵逼,花了大半个月时间各种查资料、测试设备,总算是摸清了门道。想着互联网上卧虎藏龙,肯定有不少大佬对这个技术感兴趣,所以写个帖子分享一下,顺便求各位大佬指点。

starelink的博客 1260

完整案例:caffe框架用Alexnet做二分类的全部流程

一.数据的准备与预处理 数据的准备是非常重要的,我们现在准备做的是一个二分类任务,计划选取男女图片进行训练与测试。 train:随机选取300张男性图片,300张女性图片 val:随机选取80张男性图片,80张女性图片 test:随机选取100张男性图片,100张女性图片 ps:train集和val可以有交集,但是train集和test集不要有交集 我手里找到了一批512*768的图片...

swiftfake的博客 3993

YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

m0_47867638的博客 1094

梳理caffe代码layer(五)

caffe中的layer层代码比较多,各种抽象。layer这个类可以说是里面最终的一个基本类了,深度网络呢就是一层一层的layer,相互之间通过blob传输数据连接起来。 我们先看一张图: 首先layer必须要实现一个forward function,前递函数当然功能可以自己定义啦,在forward中呢他会从input也就是Layer的bottom,对了caffe里面网络的前一层是叫b

深藏功与名 2万+

C#上位机+TensorFlow Lite 轻量化AI模型部署实战(工业级完整版,低算力工控机首选)

工业自动化轻量化AI部署指南:C# + TensorFlow Lite实战 摘要:本文针对工业自动化领域机器视觉部署的痛点,提出基于C#和TensorFlow Lite(TFLite)的轻量化解决方案。该方案完美适配低算力工控环境(J1900/2G内存),具有以下核心优势:1)极致轻量化,模型体积仅KB-MB级;2)CPU深度优化,单帧推理≤15ms;3)零环境依赖,纯C#部署;4)工业级稳定性,7×24小时运行。教程涵盖从环境搭建、模型转换到C#封装的完整流程,特别提供YOLOv8等工业常用模型的TFLi

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1030

YOLOv8多传感器融合技术——摄像头阵列融合技术详解

本文详细介绍了基于YOLOv8的摄像头阵列融合技术,该技术通过多摄像头协同工作实现360度无死角环境感知。文章阐述了系统原理,包括全方位视野覆盖、冗余设计和深度感知等优势,并提供了完整的Python实现代码。关键技术涵盖多摄像头检测、立体匹配、3D投影和目标融合等模块,支持时间域融合提升稳定性。该系统可显著提高自动驾驶的环境感知能力,减少检测盲区,增强系统可靠性,是L4-L5级自动驾驶的关键技术之一。文章还展示了城市驾驶场景的实际应用,验证了该技术对复杂交通环境的适应能力。

u010117029的博客 213

pytorch1.13版本怎么启用BUILD_CAFFE2=1

如果你想在 PyTorch 1.13 版本中启用 Caffe2,你需要在编译 PyTorch 时添加 BUILD_CAFFE2=1 的编译标志。 具体来说,你需要运行以下命令: python setup.pybuild develop BUILD_CAFFE2=1 这样就可以在 PyTorch 中启用 Caffe2 了。你可以通过检查 PyTorch 的安装目录中是否存在 caffe2 文件夹来...

weixin_35756624的博客 362

层层剖析,让你彻底搞懂Self-Attention、MultiHead-Attention和Masked-Attention的机制和原理

本文内容 本文基于李宏毅老师对 Self-Attention 的讲解,进行理解和补充,并结合Pytorch代码,最终目的是使得自己和各位读者更好的理解Self-Attention 李宏毅Self-Attention链接: https://www.youtube.com/watch?v=hYdO9CscNes PPT链接见视频下方 通过本文的阅读,你可以获得以下知识: 什么是Self-Attention,为什么要用Self-Attention? Self-Attention是如何做的? Self-Atten

iioSnail的博客 2万+

转 在Caffe中加Python Layer的方法, python layer层,如何写

在Caffe中加Python Layer的方法 <!-- 作者区域 --> <div class="author"> <a class="avatar" href="/u/52f13e7a7140"> <img src="//upload.jianshu.io/users/uplo

m0_37192554的博客 391

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

caffe系列(13)源码简单解析——Layer层

前言 老实说,caffe中的layer层代码比较多,各种抽象看起来比较绕。官方关于Layer的教程写的很清楚,我根据这个文档,简单画了个图,再理解起来就方便了一些。 layer.hpp 和layer相关的头文件有: common_layers.hpp data_layers.hpp layer.hpp loss_layers.hpp neuron_layers.hpp

wzy的博客 724

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Caffe深入分析(源码)

Caffe的整体流程图: 程序入口:main() 1 int main(int argc, char** argv) { 2 ..... 3 return GetBrewFunction(caffe::string(argv[1]))(); 4 .... 5 } g_brew_map实现过程,首先通过 typ...

weixin_34080571的博客 203

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【caffe Layer】代码中文注释

src/caffe/proto/caffe.proto 中LayerParameter部分 1 // NOTE 2 // Update the next available ID when you add a new LayerParameter field. 3 // 如果增加一个新的LayerParameter域,需要更新下一个可用的ID 4 // LayerPar...

weixin_34315485的博客 92

Ubuntu 17.04 py-faster-rcnn only CPU

ubuntu下fasterRCNN代码(only GPU)

leceall的博客 585

Faster R-CNN CPU环境搭建

操作系统: bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/tools$ cat /etc/issue Ubuntu 14.04.2 LTS \n \l Python版本: bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/tools$ python --version Python 2.7.6 pip版本: bigtop@bigtop-SdcOS-Hypervisor:~/py-faster-rcnn/tool.

sunnygirl's house 700

Windows10 下安装 py-faster-rcnn

Windows10 下安装 py-faster-rcnn本文主要包含如下内容:Windows10 下安装 py-faster-rcnn 安装教程参考网址  参考网址安装教程 安装Anaconda2   cuda版本为Anaconda2-4.3.1-Windows-x86_64.exe,双击安装即可,安装完Anaconda2后需要下载必要的python库,在cmd下运行: conda ins

ProYH 4722

Net的网络层的构建(源码分析)

概述 网络层的构建是在Net<Dtype>::Init()函数中完成的,构建的流程图如下所示: 从图中可以看出网络层的构建分为三个主要部分:解析网络文件、开始建立网络层、网络层需要参与计算的位置。 解析网络文件 该部分主要有两个函数FilterNet()、InsertSplits()。 1 void Net<Dtype>::Init(const N...

weixin_33950035的博客 84

卸载 PyTorch

卸载 PyTorch

程永强 8846

NVIDIA Jetson TX2(Xavier/NANO) 刷Jetpack4.4.1 Python3.6 安装TensorFlow1.15.X/2.X PyTorch Keras...

macOS Anaconda创建python环境0. 准备工作1. 安装yaml-cpp2. ROS中使用.yaml文件实现参数读写2.1 使用“roslaunch”加载.yaml文件参数2.2 使用yaml-cpp来读写.yaml文件 个人笔记_2019.05.19 因为需要,在网上查了一圈相关技术贴,但是很多都不能正常安装成功和运行,要么就是版本问题,要么就是转帖写的不完善…终于搞定了所以来写个帖子Mark一下,分享给需求的朋友。 ====================================

Milo0111的博客 1481

Fast R-CNN

本文提出了一种用于目标检测的 Fast Region-based Convolutional Network 方法(Fast R-CNN)。Fast R-CNN 在先前工作的基础上,利用深度卷积网络高效地对候选区域进行分类。与先前工作相比,Fast R-CNN采用了多项创新,在提高训练和测试速度的同时,也提升了检测准确率。Fast R-CNN 对非常深的 VGG16 网络的训练速度比 R-CNN 快 9×,测试时快 213×,并且在 PASCAL VOC 2012 上取得了更高的 mAP。

u013250861的博客 159
上一篇: caffe学习笔记12 -- R-CNN detection
下一篇: caffe学习笔记4-- 手写数字mnist训练过程
thystar
博客等级 码龄17年 407粉丝 151原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值