欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

纯C++超分辨率重建SRCNN --改编--在Matlab导出卷积核参数(前奏三)

程序员文章站 2022-03-09 13:06:25
...

这里到Matlab中导出三层卷积核参数(即网络权重和偏移)

保存为txt文本文件,简单一点,只用 3倍模型

%保存模型权重

%载入模型
model = 'model\x3.mat';
load(model);

%保存模型数据
%偏移
%---------------------------------------
FID=fopen('model_x3.txt','w');

%biases_conv1
fprintf(FID,'biases_conv1\n' );
k=length(biases_conv1);
fprintf(FID,'长度 %d\n',k );%有多少个

for j=1:k
    fprintf(FID, '%f \n',biases_conv1(j)); % 
end
%--------------------------------------
%biases_conv2
fprintf(FID,'biases_conv2\n' );
k=length(biases_conv2);
fprintf(FID,'长度 %d\n',k );%有多少个

for j=1:k
    fprintf(FID, '%f \n',biases_conv2(j)); % 
end
%--------------------------------------
%biases_conv3
fprintf(FID,'biases_conv3\n' );
fprintf(FID,'长度 %d\n',1 );%有多少个

fprintf(FID, '%f \n',biases_conv3); % 
%--------------------------------------

%权重
%weights_conv1
fprintf(FID,'weights_conv1\n' );
[m,n,p]=size(weights_conv1);
fprintf(FID,'长度和宽度 %d %d\n',m,n );%有多少个
for i=1:n
    for j=1:m
        fprintf(FID, '%f \n',weights_conv1(j,i)); % 
    end
end
%--------------------------------------
%weights_conv2
fprintf(FID,'weights_conv2\n' );
[m,n,p]=size(weights_conv2);
fprintf(FID,'长度和通道 %d %d\n',m,p );%有多少个
for j=1:p
    weights_conv2_p = weights_conv2(:,:,j);
    for i=1:m
        fprintf(FID, '%f \n',weights_conv2_p(i,1)); % 
    end
end
%--------------------------------------
%weights_conv3
fprintf(FID,'weights_conv3\n' );
[m,n,p]=size(weights_conv3);
fprintf(FID,'长度和宽度 %d %d\n',m,n );%有多少个
for j=1:m
    for i=1:n
        fprintf(FID, '%f \n',weights_conv3(j,i)); % 
    end
end


fclose(FID);
%---------------------------------------

model_x3.txt 中的数据:

biases_conv1
长度 64
-0.002024 
-0.083690 
-0.021551 
...     (省略,下同)
-0.073157 
-0.012042 
0.040996 
-0.003123 
biases_conv2
长度 32
-0.001080 
-0.006114 
-0.007997 
...
biases_conv3
长度 1
0.028888 
weights_conv1
长度和宽度 81 64
...
0.102138 
weights_conv2
长度和通道 64 32
0.215097 
...
0.161985 
0.108080 
weights_conv3
长度和宽度 32 25
-0.015818 
...
0.010603 
-0.005007 
-0.005743 
0.011435 
(共8141行)
在程序中再导入数据作为卷积核数据,后面用到时再说吧。


相关标签: 超分辨率重建