Train image classifier¶
            Bases: Bolt
__init__(input, output, state, **kwargs)
¶
  The TrainImageClassifier class trains an image classifier using a ResNet-152 model.
It assumes that the input.input_folder contains sub-folders named 'train' and 'test'.
Each of these sub-folders should contain class-specific folders with images.
The trained model is saved as 'model.pth' in output.output_folder.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
input | 
          
                BatchInput
           | 
          
             Instance of BatchInput for reading data.  | 
          required | 
output | 
          
                BatchOutput
           | 
          
             Instance of BatchOutput for saving data.  | 
          required | 
state | 
          
                State
           | 
          
             Instance of State for maintaining state.  | 
          required | 
**kwargs | 
          
             Additional keyword arguments.  | 
          
                {}
           | 
        
Command Line Invocation with geniusrise¶
genius TrainImageClassifier rise \
    batch \
        --bucket my_bucket \
        --s3_folder s3/input \
    batch \
        --bucket my_bucket \
        --s3_folder s3/output \
    none \
    process \
        --args num_classes=4 epochs=10 batch_size=32 learning_rate=0.001
YAML Configuration with geniusrise¶
process(num_classes=4, epochs=10, batch_size=32, learning_rate=0.001, use_cuda=False)
¶
  📖 Train an image classifier using a ResNet-152 model.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
num_classes | 
          
                int
           | 
          
             Number of classes of the images.  | 
          
                4
           | 
        
epochs | 
          
                int
           | 
          
             Number of training epochs. Default is 10.  | 
          
                10
           | 
        
batch_size | 
          
                int
           | 
          
             Batch size for training. Default is 32.  | 
          
                32
           | 
        
learning_rate | 
          
                float
           | 
          
             Learning rate for the optimizer. Default is 0.001.  | 
          
                0.001
           | 
        
use_cuda | 
          
                bool
           | 
          
             Whether to use CUDA for model training. Default is False.  | 
          
                False
           | 
        
This method trains a ResNet-152 model using the images in the 'train' and 'test' sub-folders
of input.input_folder. Each of these sub-folders should contain class-specific folders with images.
The trained model is saved as 'model.pth' in output.output_folder.