matlab列优先与高维矩阵重构

由于matlab在列化a(:)以及reshape(a)等操作中是列优先的,所以要重构出新的高维度矩阵,通常要把reshape和permute结合起来使用。

先到 http://caffe.berkeleyvision.org/ 下载 训练好的model bvlc_reference_caffenet.caffemodel;

更多caffe使用也请参看上面的网址。

 1  clear
 2  close all
 3 
 4 
 5 addpath ./matlab
 6 
 7 model= './models/bvlc_reference_caffenet/deploy.prototxt';
 8 weights= './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
 9 
10  
11  net = caffe.Net(model, weights, 'test'); % create net and load weights
12 
13 %% obtain params in diff layers and show
14 pdata = net.params('conv1',1).get_data();
15 
16 vis_square(pdata,2,0.5);
17  
18   
19 net.blobs('data').reshape([227 227 3 1]);
20 net.reshape();
21 
22 %% prepare the image
23 im_data = caffe.io.load_image('./examples/images/cat.jpg');
24  mean = load('./matlab/+caffe/imagenet/ilsvrc_2012_mean.mat');
25 
26 %% subtract mean_data (already in W x H x C, BGR)
27  mean_data = mean.mean_data;
28  im_data = im_data - mean_data;  
29 
30  width = 227; height = 227;
31  im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
32  res = net.forward({im_data});
33 
34  prob = res{1};
35 
36 %% obtain features and show
37  ddata = net.blobs('conv2').get_data();
38  vis_square(ddata,2,0);

MPCA可用于高维数据进行降维可与LDA结合 

 1 function vis_square(data,padsize,padval)
 2 
 3  data=net_data_normalize(data);
 4 
 5 if ~ exist('padsize', 'var') 
 6   padsize=1;
 7 end
 8 if ~ exist('padval', 'var') 
 9   padval=0;
10 end
11 ndim=ndims(data);
12 % w*num*h*chanel
13 if ndim==4
14     fprintf('visualize params\n');
15     data=permute(data,[1,4,2,3]);
16 else ndim==3
17     fprintf('visualize maps\n');
18     data=permute(data,[1,3,2]);
19 end
20     
21     n = (ceil(sqrt(size(data,2))));
22     data=padarray(data,[padsize n^2-size(data,2) padsize 0],'post');
23     data=reshape(data,size(data,1),n,n,size(data,3),size(data,4));
24     data=permute(data,[1,3,4,2,5]);
25     data=reshape(data,[size(data,1)*n,size(data,3)*n,size(data,5)]);
26    
27 figure
28 if ndim==4
29     ;
30 else ndim==3
31     data=imrotate(data,-90);
32 end   
33 
34 imshow(imresize(data,[500,500],'nearest'))
35 
36 end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/274709.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

操作教程|MeterSphere UI测试+VNC:简单、快捷地查看UI测试实时执行详情

编者注:本文为CSDN博主hxe116的原创文章。 原文链接为:https://blog.csdn.net/hxe116/article/details/134714960?spm1001.2014.3001.5502 作为一款一站式的开源持续测试平台,MeterSphere涵盖了测试跟踪、接口测试、UI测试和性能测试等功能…

java浅拷贝BeanUtils.copyProperties引发的RPC异常 | 京东物流技术团队

背景 近期参与了一个攻坚项目,前期因为其他流程原因,测试时间已经耽搁了好几天了,本以为已经解决了卡点,后续流程应该顺顺利利的,没想到 人在地铁上,bug从咚咚来~ 没有任何修改的服务接口,抛出…

python实现一维傅里叶变换——冈萨雷斯数字图像处理

原理 傅立叶变换,表示能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅立叶变换具有多种不同的变体形式,如连续傅立叶变换和离散傅立叶变换。最初傅立叶分…

NAS上使用Docker搭建Wiki.js构建云知识库

文章目录 NAS上使用Docker搭建Wiki.js、PostgreSQL和Nginx云知识库前置条件步骤1:获取wikijs的镜像步骤2:配置容器参数2.1 端口设置2.2 挂载设置2.3 环境变量设置(配置数据库) 步骤3. 启动界面3.1 切换语言3.2 GIT 配置3.3 用户和…

Flask 日志

flask 日志 代码源码源自编程浪子flask点餐小程序代码 记录用户访问日志 和 错误日志 这段代码是一个基于Flask框架的日志服务类,用于 记录用户访问日志 和 错误日志。代码中定义了一个名为LogService的类,其中包含了两个静态方法:addAcc…

小程序开发平台源码系统:创建专属你的小程序 海量模板任你选择 带完整的代码包以及搭建教程

小程序作为一种轻量级的应用程序,已经深入到人们的日常生活之中。今天来给大家分享一个小程序开发平台源码系统,轻松搭建小程序,还有完整的代码包以及搭建教程。 以下是部分代码示例: 系统特色功能一览: 1.海量模板任…

STM32 IIC开发学习

1IIC总线时序图 ① 起始信号 当 SCL 为高电平期间,SDA 由高到低的跳变。起始信号是一种电平跳变时序信号,而不是 一个电平信号。该信号由主机发出,在起始信号产生后,总线就会处于被占用状态,准备数据 传输。 ② 停止信…

ios环境搭建_xcode安装及运行源码

目录 1 xcode 介绍 2 xcode 下载 3 xocde 运行ios源码 1 xcode 介绍 Xcode 是运行在操作系统Mac OS X上的集成开发工具(IDE),由Apple Inc开发。Xcode是开发 macOS 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计&#xff0…

矿泉水硝酸盐和溴酸盐超标解决工艺

在当今社会,人们对健康和优质生活的追求不断提升,使得瓶装饮用水的安全问题受到了广泛关注。溴酸盐和硝酸盐作为自然水体中常见的物质,若在矿泉水中含量过高,可能会对消费者的健康构成潜在威胁。因此,探究有效去除矿泉…

【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代

目录 前言 机器视觉 缺陷检测 工业上常见缺陷检测方法 内容简介 作者简介 目录 读者对象 如何阅读本书 获取方式 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站 机器视觉…

WPF项目创建HTTP WEB服务,不使用IIS业务 WPF桌面程序WebApi WPF 集成WebApi C# 创建HTTP Web API服务

在C# WPF应用程序中直接创建HTTP服务或WebAPI服务有以下优点: 自托管服务: 简化部署:无需依赖外部服务器或IIS(Internet Information Services),可以直接在应用程序内部启动和运行Web服务。 集成紧密&…

如何在无公网IP环境使用Windows远程桌面Ubuntu

文章目录 一、 同个局域网内远程桌面Ubuntu二、使用Windows远程桌面连接三、公网环境系统远程桌面Ubuntu1. 注册cpolar账号并安装2. 创建隧道,映射3389端口3. Windows远程桌面Ubuntu 四、 配置固定公网地址远程Ubuntu1. 保留固定TCP地址2. 配置固定的TCP地址3. 使用…

「Kafka」入门篇

「Kafka」入门篇 基础架构 Kafka 快速入门 集群规划 集群部署 官方下载地址:http://kafka.apache.org/downloads.html 解压安装包: [atguiguhadoop102 software]$ tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/修改解压后的文件名称: [a…

深入浅出:分布式、CAP 和 BASE 理论(荣耀典藏版)

大家好,我是月夜枫,一个漂泊江湖多年的 985 非科班程序员,曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。 在计算机科学领域,分布式系统是一门极具挑战性的研究方向,也是互联网应用中必不可少的优化实践&…

网站显示不安全警告怎么办?消除网站不安全警告超全指南

网站显示不安全警告怎么办?当用户访问你的网站,而您的网站没有部署SSL证书实现HTTPS加密时,网站就会显示不安全警告,这种警告,不仅有可能阻止用户继续浏览网站,影响网站声誉,还有可能影响网站在…

easycython和cython将py编译为pyd对比

前提了解 为了实验的准确性,在全过程使用的python环境版本都为同一版本 easycython和cython编译为pyd文件的不同在于,easycython编译的原始文件后缀为pyx,cython编译的原始文件为py 1.cython 1.1原始文件 def ZWHCythonTest():print(&qu…

中职网络安全Server2002——Web隐藏信息获取

B-2:Web隐藏信息获取 任务环境说明: 服务器场景名:Server2002(关闭链接)服务器场景用户名:未知 有问题需要环境加q 通过本地PC中渗透测试平台Kali使用Nmap扫描目标靶机HTTP服务子目录,将扫描子…

【15.5K⭐】QuickLook—文件快速预览工具

【15.5K⭐】QuickLook—文件快速预览工具 在我们日常的工作和生活中,经常会遇到需要快速查看不同类型文件内容的情况。这可能包括文档、图片、视频、音频甚至是代码文件。在这种情况下,为了省去了打开文件或应用等繁琐步骤,一款高效的文件预…

JAVA语言—AOP基础

1、AOP概述 AOP:AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。 场景:案例部分功能运行较慢&…

Springboot+vue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的医疗报销系统(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的医疗报销系统,采用M(model&a…