fitclinear with tall array that contains images
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Not sure if anyone has ever tried this since I found 0 trace of this error message on Google.
I am using MATLAB 2018a, trying to train a binary SVM using fitclinear(). My data are RGB images, which I load into a imageDatastore. Then I wrote a custom ReadFn to downsample them and converted from uint8 to float using imresize and im2double, respectively.
Then I created a tall array from the imageDatastore (I also put the labels into a tall array with the same numebr of rows). I reshaped the images from 3-D array to 1-by-154587 vector, which I assume is needed for fitclinear(). So now I have a tall array of n-by-1, n being the number of training images, and each cell is a vector of datatype double. And I also have another tall array of n-by-1 containing the corresponding labels for each training example.
Then I simply called SVMmodel=fitclinear(tallarry1,talllabel);
But I got the following error:
Error using tall/fitclinear (line 305)
Argument 1 to FITCLINEAR must be one of the following data types: float.
Any thought will be appreciated.
HY
0 comentarios
Respuestas (1)
Divya Gaddipati
el 18 de Oct. de 2020
I understand that your input data is a tall array of cells of size n-by-1. Whereas, the input to fitclinear should be specified as an n-by-p full or sparse matrix.
Converting your input data tallarry1 and talllabel to a matrix format would resolve your issue.
Ver también
Categorías
Más información sobre Tall Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!