Unrecognized field name "data".
24 views (last 30 days)
Show older comments
Gulfam Saju
on 28 Mar 2022
Answered: Walter Roberson
on 28 Mar 2022
%% This is a training code of Generic-ADMM-CSNet for a complex-valued MR training dataset by L-BFGS optimizing.
%% If you use this code, please cite our paper:
%% [1] Yan Yang, Jian Sun, Huibin Li, Zongben Xu. ADMM-CSNet: A Deep Learning Approach for Image Compressive Sensing, TPAMI(2019).
%% Copyright (c) 2019 Yan Yang
%% All rights reserved.
clear all ;
clc;
addpath('./Train_LBFGS/')
addpath('./Train_LBFGS/lb')
addpath('./Train_LBFGS/Matlab')
addpath('./layersfunction/')
addpath('./util')
vl_setupnn();
%% Loading data
data_dir = './data/DATA-1D-Cartesian-0.2-complex-brain/Calgary_Brain_Train/';
%data_dir = './data/DATA-1D-Cartesian-0.2-complex-brain/Train_Brain/';
%data_dir = 'H:\ADMM-CSNet-master\New Training Data';
save('data_dir.mat', 'data_dir');
load('./mask/1D-Cartesian-0.4.mat');
save('mask.mat', 'mask');
%% Network initialization
net = InitNet ( );
%% Initial lossconfig
wei0 = netTOwei(net);
l0 = loss_with_gradient_total(wei0)
%% L-BFGS optimiztion
fun = @loss_with_gradient_total;
%parameters in the L-BFGS algorithm
low = -inf*ones(length(wei0),1);
upp = inf*ones(length(wei0),1);
opts.x0 = double(gather(wei0));
opts.m = 5;
opts.maxIts = 500;
opts.maxTotalIts = 7.2e4;
opts.printEvery = 1;
opts.factr=1e-50;
opts.pgtol = 1e-50;
[wei1, l1, info] = lbfgsb(fun, low, upp, opts);
wei1=single(wei1);
net1 = weiTOnet(wei1);
fprintf('Before training, error is %f; after training, error is %f.\n', l0, l1);
When I try to run this Deep Learning Training Code, I get this error:
Unrecognized field name "data".
Error in getMData_train (line 11)
data.label = double(ma.data.i.label);
Error in loss_with_gradient_total (line 13)
data = getMData_train(i);
Error in L_BFGSnetTrain (line 28)
l0 = loss_with_gradient_total(wei0)
The Code for getMData_train:
function data = getMData_train(n)
config;
ImageSize = nnconfig.ImageSize ;
data.train = double(zeros(ImageSize));
data.label = double(zeros(ImageSize));
%dir = './data/BrainTrain_sampling/';
load('data_dir.mat');
ma = load (strcat(data_dir , saveName(n, 2)));
data.label = double(ma.data.label);
data.train = double(ma.data.train);
end
0 Comments
Accepted Answer
Walter Roberson
on 28 Mar 2022
ma = load (strcat(data_dir , saveName(n, 2)));
Whatever file is getting loaded by that does not contain a variable named "data"
0 Comments
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!