前提・実現したいこと
深層学習超解像手法の一つであるVDSR手法を実行したく,githubを用いて行おうと思いました.
zipファイルをダウンロードし,ファイルの中身を見てmatlabのコードがあったのでそのコードを実行したのですがエラーが出ました.初心者ですので解決策がわかりません.ご教授お願いします.
URL:https://github.com/huangzehao/caffe-vdsr
フォルダを間違えていて変更したのですが,違うエラーが出ました.
発生している問題・エラーメッセージ
>> Demo_SR_Conv 警告: 名前が存在しないか、ディレクトリではありません C:\Users\Scholar1\Desktop\MATLAB\caffe-vdsr-master\Test\matconvnet\matlab\mex > In path at 110 In addpath at 87 In vl_setupnn at 13 In run at 63 In Demo_SR_Conv at 4 iter:1 関数としてスクリプト vl_nnconv を実行しようとしています: C:\Users\Scholar1\Desktop\MATLAB\caffe-vdsr-master\Test\matconvnet\matlab\vl_nnconv.m エラー: VDSR_Matconvnet (line 15) convfea = vl_nnconv(im_y,weight{1},bias{1},'Pad',1); エラー: Demo_SR_Conv (line 41) im_h_y = VDSR_Matconvnet(im_l_y, model,up_scale,use_cascade); ``` ### 該当のソースコード
close all;
clear all;
run matconvnet/matlab/vl_setupnn;
addpath('utils')
load('VDSR_Official.mat');
%load('VDSR_Adam.mat');
use_cascade = 0;
use_gpu = 0;
up_scale = 3;
shave = 1;
im_gt = imread('./Data/Set5/butterfly_GT.bmp');
if use_gpu
for i = 1:20
model.weight{i} = gpuArray(model.weight{i});
model.bias{i} = gpuArray(model.bias{i});
end
end
im_gt = modcrop(im_gt,up_scale);
im_l = imresize(im_gt,1/up_scale,'bicubic');
im_gt = double(im_gt);
im_l = double(im_l) / 255.0;
[H,W,C] = size(im_l);
if C == 3
im_l_ycbcr = rgb2ycbcr(im_l);
else
im_l_ycbcr = im_l;
end
im_l_y = im_l_ycbcr(:,:,1);
if use_gpu
im_l_y = gpuArray(im_l_y);
end
tic;
im_h_y = VDSR_Matconvnet(im_l_y, model,up_scale,use_cascade);
toc;
if use_gpu
im_h_y = gather(im_h_y);
end
im_h_y = im_h_y * 255;
im_h_ycbcr = imresize(im_l_ycbcr,up_scale,'bicubic');
if C == 3
im_b = ycbcr2rgb(im_h_ycbcr) * 255.0;
im_h_ycbcr(:,:,1) = im_h_y / 255.0;
im_h = ycbcr2rgb(im_h_ycbcr) * 255.0;
else
im_h = im_h_y;
im_b = im_y_cbcr * 255.0;
end
figure;imshow(uint8(im_b));title('Bicubic Interpolation');
figure;imshow(uint8(im_h));title('SR Reconstruction');
figure;imshow(uint8(im_gt));title('Origin');
if shave == 1;
shave_border = round(up_scale);
else
shave_border = 0;
end
sr_psnr = compute_psnr(im_h,im_gt,shave_border);
bi_psnr = compute_psnr(im_b,im_gt,shave_border);
fprintf('sr_psnr: %f dB\n',sr_psnr);
fprintf('bi_psnr: %f dB\n',bi_psnr);
あなたの回答
tips
プレビュー