日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab列优先与高维矩阵重构 及 CNN 逐层可视化 on Matlab

發(fā)布時(shí)間:2025/3/14 循环神经网络 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab列优先与高维矩阵重构 及 CNN 逐层可视化 on Matlab 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

由于matlab在列化a(:)以及reshape(a)等操作中是列優(yōu)先的,所以要重構(gòu)出新的高維度矩陣,通常要把reshape和permute結(jié)合起來使用。

先到?http://caffe.berkeleyvision.org/ 下載 訓(xùn)練好的model?bvlc_reference_caffenet.caffemodel;

更多caffe使用也請(qǐng)參看上面的網(wǎng)址。

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);
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

?

轉(zhuǎn)載于:https://www.cnblogs.com/jeffwilson/p/4750938.html

總結(jié)

以上是生活随笔為你收集整理的matlab列优先与高维矩阵重构 及 CNN 逐层可视化 on Matlab的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。