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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab 图片 并行,图片尺寸批量resize的matlab并行代码

發布時間:2024/3/12 循环神经网络 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 图片 并行,图片尺寸批量resize的matlab并行代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在caffe ImageNet例子中有對圖片進行resize的部分,文中使用的是linux shell腳本命令:

for name in /path/to/imagenet/val/*.JPEG; do

convert -resize 256x256\! $name $name

done

但該命令在運行后光標就一直處于等待狀態,直到所有的圖片全部運行結束。這種情況在圖片數量比較大時就很惱人(對于ILSVRC2012數據集中的100多萬張圖片來說,這種狀態可能會持續好幾天),你不知道程序的運行狀況,不知道處理了多少圖片,不知道程序大概什么時候能結束。

因此,本文采用matlab語言中的并行機制來實現圖片尺寸的批量resize。

代碼如下:

clear;clc;close all;

tic; % 用于計算程序運行時間,和toc搭配使用

CoreNum=6; % cpu核的數量

% 下面代碼塊為并行處理檢測與開啟程序,需要在執行結束后予以關閉

if matlabpool('size')<=0

matlabpool('open','local',CoreNum);

else

disp('Already initialized');

end

imagePath = 'rastaPlpSpec/train/'; % 圖片存放路徑

imageFiles = dir(imagePath);

numFiles = length(imageFiles);

parfor i=3:numFiles % 從3開始,因為前兩個是當前路徑‘.’和上一級路徑‘..’

j = i-2;

disp(j);

imageFile = strcat(imagePath,imageFiles(i).name);

A = imread(imageFile);

B = imresize(A,[256 256]); % resize為256x256

imwrite(B,imageFile); % 覆蓋原始圖片,若需要另存為,則修改此處的imageFile為新的存儲路徑

end

matlabpool close % 關閉并行

toc; % 顯示運行時間

在該代碼中,因為我的cpu有6個核,所以設置CoreNum=6。

如果我有兩個物理cpu,每個有6個核,那么我這里是否可以設置CoreNum=12呢,這樣效率會不會成倍提升?由于對matlab的并行處理了解不多,這里就留個疑問,等我知道后再補充,有知道的歡迎交流。

—————————————————————————————————————————————

在linux中關于cpu的相關信息都在文件/proc/cpuinfo中,用戶可以直接查看該文件或使用下面的命令顯示需要的信息:

1. 顯示物理cpu個數

cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l

顯示每個物理cpu的核數

cat /proc/cpuinfo | grep 'cpu cores' | uniq

顯示邏輯cpu的個數

cat /proc/cpuinfo | grep 'processor' | wc -l

其中: 總核數 = 物理CPU個數 X 每顆物理CPU的核數 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數

總結

以上是生活随笔為你收集整理的matlab 图片 并行,图片尺寸批量resize的matlab并行代码的全部內容,希望文章能夠幫你解決所遇到的問題。

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