Deep Learning: How do I add regression ground truth data to an imageDatastore?
9 views (last 30 days)
if I train my network with newnet=trainNetwork(imageDatastore_traindata,net,options) imageDatastore_traindata.Labels need to be categorical, i.e. not regression but classification labels. So for regression, it seems I need to use newnet=trainNetwork(X,Y,net,options)
and give my regression labels as Y, but then I can't use the imageDatastore as X, so I'll run into memory problems. Is there no way to do regression with an imageDatastore?
Amy on 19 Dec 2017
You can use an image datastore to get the image file names (without having to load the images from the dataset into memory at all), then create a table with the file names in the first column and your regressors in the other columns, and feed that into trainNetwork.
(see the trainedNet = trainNetwork(tbl,layers,options) syntax for trainNetwork.)
Daniel Cohen on 13 Jan 2021
% trainedNet = trainNetwork(ds, layers, options) trains and returns a
% network trainedNet using the datastore ds. For single-input networks,
% the datastore read function must return a two-column table or
% two-column cell array, where the first column specifies the inputs to
% the network and the second column specifies the expected responses. For
% networks with multiple inputs, the datastore read function must return
% a cell array with N+1 columns, where N is the number of inputs. The
% first N columns correspond to the N inputs and the final column
% corresponds to the responses.
What what does that mean for this situation?