fitclinear with tall array that contains images
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Divya Gaddipati
2020 年 10 月 18 日
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.
参考
カテゴリ
Help Center および File Exchange で Tall Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!