那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MATLAB | 這是我見過最離譜的轉(zhuǎn)置操作

冬至子 ? 來源:slandarer隨筆 ? 作者:slandarer ? 2023-07-21 11:50 ? 次閱讀

** PART.0 長(zhǎng)相離譜的張量轉(zhuǎn)置**

注:此轉(zhuǎn)置操作與 t-product 積相對(duì)應(yīng),在其他類型張量運(yùn)算中的轉(zhuǎn)置操作可能有不同的定義方式,請(qǐng)注意區(qū)分。

1.jpg

簡(jiǎn)單描述一下:

我們把三維張量每一個(gè)frontal slices(面向我們的切片),進(jìn)行轉(zhuǎn)置,然后將序號(hào)2到n的切片順序完全反過來,圖片描述如下:

假如以下為原始張量:

圖片

轉(zhuǎn)置完成后:

圖片

那么。。。為什么會(huì)有如此的操作呢,其實(shí)這都是為了之后的張量inside product做準(zhǔn)備(不叫做內(nèi)積是因?yàn)橛心承┬再|(zhì)不符合內(nèi)積的定義),和向量?jī)?nèi)積很像,張量?jī)?nèi)積也需要其中某個(gè)張量轉(zhuǎn)置之后和另一個(gè)張量做 t-product 積,既然是做 t-product 積,就要遷就于 t-product 積的某些性質(zhì)。

這里再重提一下 t-product 積的定義:

1.jpg

** PART.1 轉(zhuǎn)置的特殊性質(zhì)**

首先說明一下 squeeze 操作及 twist, 簡(jiǎn)單一張圖就可以描述:

圖片

1.jpg

這都可以相等。。very amazing 啊 ,光證明出來咋能不驗(yàn)證呢?

** PART.2 MATLAB實(shí)現(xiàn)**

我們編寫如下 MATLAB 程序(引用的子函數(shù)放到最后):

X=zeros([2,1,3]);
X(:,:,1)=[1;2];
X(:,:,2)=[3;4];
X(:,:,3)=[5;6];

c=zeros([1,1,3]);
c(:)=[1,2,3];

squeeze(t_prod(X,c))
squeeze(X)*bcirc(t_T(c))

ans =

20    20    14

26    26    20

ans =

20    20    14

26    26    20

左右兩邊運(yùn)行結(jié)果一致,非常完美,另外各個(gè)子函數(shù)如下:

t-product

function C=t_prod(A,B)
% @author:slandarer
% 用于進(jìn)行張量t-product積
% A*B=fold(bcirc(A)·unfold(B))

% 獲取張量大小
[l,p,n]=size(A);dimA=[l,p,n];
[p,m,n]=size(B);dimB=[p,m,n];
dimC=[l,m,n];

if dimA(2)~=dimB(1) || dimA(3)~=dimB(3) 
    error('Inner tensor dimensions must agree.');
end

% 對(duì)A,B進(jìn)行unfold展開操作
ufold_A=reshape(permute(A,[2,1,3]),dimA(2),[])';
ufold_B=reshape(permute(B,[2,1,3]),dimB(2),[])';

% 對(duì)A構(gòu)建循環(huán)矩陣
bcirc_A=zeros([l*n,p*n]);
for i=1:n
    bcirc_A(:,(1:p)+(i-1)*p)=circshift(ufold_A,l*(i-1),1);
end

% bcirc(A)·unfold(B)
AB=bcirc_A*ufold_B;

% 還原張量維度
C=ipermute(reshape(AB',dimC([2,1,3])),[2,1,3]);
end

張量轉(zhuǎn)置

function AT=t_T(A)
% @author:slandarer
% 應(yīng)對(duì)與張量t-product積的轉(zhuǎn)置

[l,m,n]=size(A);
AT=zeros([m,l,n]);
% fronral slices轉(zhuǎn)置
for i=1:size(A,3)
    AT(:,:,i)=A(:,:,i)';
end

% 徑向重排序
if size(A,3) >1
    AT(:,:,1:end)=AT(:,:,[1,end:-1:2]);
end
end

squeeze

function squeezeX=squeeze(X)
% @author:slandarer
% lateral slice 翻轉(zhuǎn)

if size(X,2)==1
    squeezeX=permute(X,[1,3,2]);
else
    error('MyComponent:incorrectType',...
       'Error input: nInput must be a lateral slice.')
end
end

bcirc

function bcircA=bcirc(A)
% @author:slandarer
% 用于張量展開為循環(huán)矩陣

% 獲取張量大小
[l,p,n]=size(A);dimA=[l,p,n];

% 對(duì)A進(jìn)行unfold展開操作
ufold_A=reshape(permute(A,[2,1,3]),dimA(2),[])';

% 對(duì)A構(gòu)建循環(huán)矩陣
bcircA=zeros([l*n,p*n]);
for i=1:n
    bcircA(:,(1:p)+(i-1)*p)=circshift(ufold_A,l*(i-1),1);
end
end
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    176

    瀏覽量

    19998
  • 交換矩陣
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5462
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MATLAB操作符和特殊字符

    % 注釋  ' 轉(zhuǎn)或引用 = 賦值 = = 相等 < > 關(guān)系操作符 & 邏輯與 | 邏輯或 ~ 邏輯非 xor 邏輯異或 
    發(fā)表于 09-22 16:05

    求助,實(shí)現(xiàn)一下矩陣的轉(zhuǎn)函數(shù)

    )mean2(x);m=blkproc(y,[2,2],f) ;r=m(:);end這是一個(gè)函數(shù),實(shí)現(xiàn)矩陣y(輸入為列向量)的四鄰域平均,求高手幫忙實(shí)現(xiàn)轉(zhuǎn)矩陣的函數(shù)。也就是如果這個(gè)函數(shù)的功能可以用A*y,表示,那個(gè)要求編寫一個(gè)
    發(fā)表于 03-07 10:10

    MATLAB使用心得匯總——Tips 1-5 】

    以知識(shí)點(diǎn)的形式,羅列MALAB日常應(yīng)用中的技巧操作。1MATLAB的四大金剛:矢量運(yùn)算; 圖形化顯示; 工具箱;Simulink;2 注意共軛轉(zhuǎn)
    發(fā)表于 12-04 14:21

    ADC采樣不精確,飄的離譜

    定義一個(gè)u32的變量,對(duì)采樣到的數(shù)據(jù)做處理,*3300再/4096,通過串口看,,一個(gè)2V的方波,采樣到的數(shù)據(jù)飄的離譜這是為什么、、數(shù)據(jù)處理有錯(cuò)嗎?
    發(fā)表于 06-29 22:26

    labview中調(diào)用matlab腳本為什么會(huì)提示matlab服務(wù)器未安裝matlab服務(wù)器,但是matlab已經(jīng)打開,這是什么問題

    labview中調(diào)用matlab腳本為什么會(huì)提示matlab服務(wù)器未安裝matlab服務(wù)器,但是matlab已經(jīng)打開,
    發(fā)表于 09-02 09:46

    轉(zhuǎn)型FIR濾波器的實(shí)現(xiàn)

    相同,濾波器階數(shù)為10?!   D1  可以發(fā)現(xiàn)轉(zhuǎn)型結(jié)構(gòu)不對(duì)輸入數(shù)據(jù)寄存,而是對(duì)乘累加后的結(jié)果寄存,這樣關(guān)鍵路徑上只有1個(gè)乘法和1個(gè)加法操作,相比于直接型結(jié)構(gòu),延時(shí)縮短了不少?! 【C合得到結(jié)果
    發(fā)表于 06-28 08:22

    矩陣轉(zhuǎn)中的問題

    先生/女士 已經(jīng)編寫了用于矩陣轉(zhuǎn)的vhdl代碼但是得到結(jié)果的問題意味著當(dāng)我插入輸入,時(shí)鐘的值時(shí),它沒有顯示任何東西。為什么它發(fā)生無法
    發(fā)表于 03-11 09:33

    C語言教程之矩陣的轉(zhuǎn)

    C語言教程之矩陣的轉(zhuǎn),很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 15:41 ?0次下載

    MATLAB簡(jiǎn)介及MATLAB的基本操作

    MALTAB應(yīng)用技術(shù),MATLAB簡(jiǎn)介及基本操作采取誒從上檔次屆超級(jí)武器。
    發(fā)表于 05-19 15:32 ?0次下載

    MATLAB軟件環(huán)境及基本操作實(shí)驗(yàn)

    MATLAB 軟件環(huán)境及基本操作實(shí)驗(yàn)
    發(fā)表于 12-16 21:32 ?0次下載

    華為 Mate 9 三周體驗(yàn)評(píng)測(cè):4000mAh續(xù)航久的離譜!

    “4000mAh續(xù)航久的離譜!”這是使用華為 Mate 9 三周之后,它最能打動(dòng)的地方。
    發(fā)表于 12-13 15:09 ?1.2w次閱讀

    MATLAB基礎(chǔ)知識(shí)MATLAB的簡(jiǎn)介,編程環(huán)境和基本操作的詳細(xì)概述

    MATLAB基礎(chǔ)知識(shí)MATLAB的簡(jiǎn)介,編程環(huán)境和基本操作的詳細(xì)概述
    的頭像 發(fā)表于 06-02 10:18 ?7640次閱讀
    <b class='flag-5'>MATLAB</b>基礎(chǔ)知識(shí)<b class='flag-5'>MATLAB</b>的簡(jiǎn)介,編程環(huán)境和基本<b class='flag-5'>操作</b>的詳細(xì)概述

    如何使用基于轉(zhuǎn)卷積操作改進(jìn)進(jìn)行單階段多邊框目標(biāo)檢測(cè)方法

    針對(duì)單階段多邊框目標(biāo)檢測(cè)( SSD)模型在以高交并比(IoU)評(píng)估平均檢測(cè)精度(mAP)時(shí)出現(xiàn)的精度下降問題,提出一種使用轉(zhuǎn)卷積操作構(gòu)建的循環(huán)特征聚合模型。該模型以SSD模型為
    發(fā)表于 12-12 11:49 ?4次下載
    如何使用基于<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>置</b>卷積<b class='flag-5'>操作</b>改進(jìn)進(jìn)行單階段多邊框目標(biāo)檢測(cè)方法

    一篇文章搞定CNN轉(zhuǎn)卷積

    在CNN中,轉(zhuǎn)卷積是一種上采樣(up-sampling)的方法。如果你對(duì)轉(zhuǎn)卷積感到困惑,那么就來讀讀這篇文章吧。
    的頭像 發(fā)表于 01-31 17:32 ?4714次閱讀

    PyTorch教程14.10之轉(zhuǎn)卷積

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程14.10之轉(zhuǎn)卷積.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 11:11 ?0次下載
    PyTorch教程14.10之<b class='flag-5'>轉(zhuǎn)</b><b class='flag-5'>置</b>卷積
    权威百家乐官网信誉网站| 温州市百家乐官网ktv招聘| 自贡百家乐赌场| 大发888 制度| 赌场百家乐欺诈方法| 百家乐官网真人游戏娱乐平台| 老虎机单机游戏下载| 至尊百家乐facebook| 澳门百家乐官网赌钱| 百家乐官网金币游戏| 大发888官方我的爱好| 百家乐推饼| 威尼斯人娱乐城好吗| 百家乐娱乐官方网| 百家乐官网打法介绍| 绥棱县| 德州扑克发牌| 威尼斯人娱乐城正规吗| 浩博百家乐娱乐城| 齐齐哈尔市| 六合彩150期| 太阳城现金| 加多宝百家乐的玩法技巧和规则 | 安龙县| 即时比分直播| 皇冠现金网去hgttt| 全讯网999| 太子百家乐的玩法技巧和规则| 百家乐3珠路法| 百家乐兑换棋牌| 百家乐破解之法| KK百家乐官网娱乐城| 圣安娜百家乐官网代理| 百家乐官网园棋牌| 百家乐官网筹码防伪定制| 百家乐官网斗视频游戏| 始兴县| 张北县| 新濠百家乐官网现金网| 太阳城百家乐官网坡解| 百家乐官网中P代表|