Reputation: 33
I use SageMaker for research purpose in my study, hope somebody can help me out. Error I get ClientError: lst should at least has three parts, but only has 1 parts for '1 0 class_iphone6splus/i6 (1).jpg'
It is possible to create my own training job using the SageMaker GUI only? Cause I'm totally new to AWS... The built in algorithm that I wan to use is image classification.
I have 400 images in JPG format for the datasets. Those images are from two different phone models which is iPhone 6s plus and iPhone7plus so that the system will classify them into two different classes. Both 200 each.
S3 bucket In train folder, I have two different folder to store those images which are class_iphone6splus and class_iphone7plus 200 each for one class. The .lst file which are created by own use notepad++ name as data.lst are put in these two folder with the images cause I not sure where to put it. While in validation folder, I also store the same 400 images into another class_iphone6splus and class_iphone7plus folder seperately by their class.
Things store in .lst file
Example altogether is 400lines
1 0 class_iphone6splus/i6 (1).jpg
until
200 0 class_iphone6splus/i6 (200).jpg
201 1 class_iphone7plus/i7 (1).jpg
until
400 1 class_iphone7plus/i7 (200).jpg
Should I create two different folder in the bucket to store the .lst file which are train_lst folder & validation_lst folder. These two folders also should contains 400 images?
Resource configuration:
Instance type: ml.p2.xlarge
Instance count: 1
Additional storage: 5GB
Hyperparameters:
num_classes:2
num_training_samples:400
others parameters used default value by system.
Input data configuration:
I set 4 channels which are:
1) train S3 location: s3://datasets-for-testing/train
2) validation S3 location: s3://datasets-for-testing/validation
3) train_lst S3 location: s3://datasets-for-testing/train
4) validation_lst S3 location: s3://datasets-for-testing/validation
Input mode:file Content type: application/jpeg or use application/x-image will be better
S3 output path s3://datasets-for-testing/output
These are all the configurations I choose before click on the 'Create training job'.
Upvotes: 1
Views: 354
Reputation: 2452
I create a training job that you have specified and had got the same error. To resolve the error ClientError: lst should at least has three parts, but only has 1 parts for, make sure that the file .lst is well-formatted with tab-separated like this:
5 1 iphone/iphone7_1.jpg
1000 0 iphone/iphone6_1.jpg
22 1 iphone/iphone7_2.jpg
I used nano
on MAC OS X to validate the tab-separated format.
Upvotes: 2