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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab parfor不能用,matlab中parfor函数

發(fā)布時間:2024/9/18 循环神经网络 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab parfor不能用,matlab中parfor函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

google中輸入matlab parfor,你將得到足夠多的資料來了解這是個什么東西,如果你耐心,建議去研究研究matlab

幫助中對parfor的說明。這里我只大概講一下parfor。parfor就是paralle+for,也就是并行的for循環(huán),怎么個并行法?我理解就是,matlab會弄出幾個虛擬的小pc,一個算i=1:30部分循環(huán),一個算i=50:80部分循環(huán),再來一個算i=90:120部分循環(huán),當然數(shù)字是我瞎編的,我是想說matlab將一個大循環(huán)分成小塊,然后這些小塊并行計算,最后再合在一起。這樣,有一個問題,因為普通的循環(huán)是從i=1算到i=100,一個接一個算,如果下一次循環(huán)要依賴上一次循環(huán)怎么辦?如果出現(xiàn)這種情況,那就不能用matlab的parfor了。用parfor的前提條件就是,循環(huán)的每次迭代獨立,不相互依賴。舉個簡單的例子,計算1+2+3...+100就可以用parfor,但是如果計算斐波那契數(shù)列的前100個數(shù)字,那就不能用parfor了。

parfor就先解釋到這里,其實它涉及到的東西遠不止這些,而且感覺很令人糾結,如果你的C++很好,那就直接用C++吧!如果你還是想用matlab做并行,那就可以繼續(xù)向下看看我的一些經(jīng)驗。

首先我是做圖像處理的,1000多個圖像,如果直接算可能要算上1天,所以我想用matlab的并行。我們都知道數(shù)字圖像可以看成矩陣,我們經(jīng)常用for循環(huán)里面再加一個for循環(huán)來處理,但是parfor循環(huán)不能嵌套。那么原來的

for i=1:N

for j=1:M

end

end

就必須改成

parfor i=1:N

for j=1:M

end

end

或者

for i=1:N

parfor j=1:M

end

end

但是,這都不是最好的方法,因為如果循環(huán)的次數(shù)太少,并行就顯現(xiàn)不出威力來,所以最好的方法是這樣:

for k=1:M*N

i=mod(k-1,M)+1 ?%行號

j=floor((k-1)/M)+1 ?%列號

end

要注意一點的是k是按照列來數(shù)的,也就是這樣

1 4 7

2 5 8

3 6 9

所以,行號和列號別算錯了。這樣其他代碼就可以不變了。

還需要注意的一點就是就是,如果對矩陣f的每個像素計算的點值要賦值給矩陣g。這個g要在循環(huán)外面聲明好,而且要固定大小,在parfor循環(huán)里面最好也是向量,而非矩陣。計算完成后再用vec2mat函數(shù)轉換為矩陣,這個函數(shù)之后,可能還需要個轉置才能得到你需要的結果。

總結

以上是生活随笔為你收集整理的matlab parfor不能用,matlab中parfor函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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