Mercurial > repos > goeckslab > image_learner
comparison image_learner.xml @ 8:85e6f4b2ad18 draft
planemo upload for repository https://github.com/goeckslab/gleam.git commit 8a42eb9b33df7e1df5ad5153b380e20b910a05b6
| author | goeckslab |
|---|---|
| date | Thu, 14 Aug 2025 14:53:10 +0000 |
| parents | d2d9a931addf |
| children | 9e912fce264c |
comparison
equal
deleted
inserted
replaced
| 7:801a8b6973fb | 8:85e6f4b2ad18 |
|---|---|
| 1 <tool id="image_learner" name="Image Learner" version="0.1.1" profile="22.05"> | 1 <tool id="image_learner" name="Image Learner for Classification" version="0.1.2" profile="22.05"> |
| 2 <description>trains and evaluates an image classification/regression model</description> | 2 <description>trains and evaluates a image classification model</description> |
| 3 <requirements> | 3 <requirements> |
| 4 <container type="docker">quay.io/goeckslab/galaxy-ludwig-gpu:0.10.1</container> | 4 <container type="docker">quay.io/goeckslab/galaxy-ludwig-gpu:latest</container> |
| 5 </requirements> | 5 </requirements> |
| 6 <required_files> | 6 <required_files> |
| 7 <include path="utils.py" /> | 7 <include path="utils.py" /> |
| 8 <include path="constants.py" /> | 8 <include path="constants.py" /> |
| 9 <include path="image_learner_cli.py" /> | 9 <include path="image_learner_cli.py" /> |
| 142 </param> | 142 </param> |
| 143 | 143 |
| 144 <conditional name="scratch_fine_tune"> | 144 <conditional name="scratch_fine_tune"> |
| 145 <param name="use_pretrained" type="select" | 145 <param name="use_pretrained" type="select" |
| 146 label="Use pretrained weights?" | 146 label="Use pretrained weights?" |
| 147 help="If select no, the encoder, combiner, and decoder will all be initialized and trained from scratch. (e.g. when your images are very different from ImageNet or no suitable pretrained model exists.)"> | 147 help="If select no, the encoder, combiner, and decoder will all be initialized and trained from scratch. |
| 148 (e.g. when your images are very different from ImageNet or no suitable pretrained model exists.)"> | |
| 148 <option value="false">No</option> | 149 <option value="false">No</option> |
| 149 <option value="true" selected="true">Yes</option> | 150 <option value="true" selected="true">Yes</option> |
| 150 </param> | 151 </param> |
| 151 <when value="true"> | 152 <when value="true"> |
| 152 <param name="fine_tune" type="select" label="Fine tune the encoder?" | 153 <param name="fine_tune" type="select" label="Fine tune the encoder?" |
| 153 help="Whether to fine tune the encoder(combiner and decoder will be fine-tued anyway)" > | 154 help="Whether to fine tune the encoder(combiner and decoder will be fine-tuned anyway)" > |
| 154 <option value="false" >No</option> | 155 <option value="false" >No</option> |
| 155 <option value="true" selected="true">Yes</option> | 156 <option value="true" selected="true">Yes</option> |
| 156 </param> | 157 </param> |
| 157 </when> | 158 </when> |
| 158 <when value="false"> | 159 <when value="false"> |
| 216 help="Fraction of data for validation (e.g., 0.1). train split + val split + test split should = 1"/> | 217 help="Fraction of data for validation (e.g., 0.1). train split + val split + test split should = 1"/> |
| 217 <param name="test_split" type="float" | 218 <param name="test_split" type="float" |
| 218 label="Test split proportion (only works if no split column in the metadata csv)" | 219 label="Test split proportion (only works if no split column in the metadata csv)" |
| 219 value="0.2" | 220 value="0.2" |
| 220 help="Fraction of data for testing (e.g., 0.2) train split + val split + test split should = 1."/> | 221 help="Fraction of data for testing (e.g., 0.2) train split + val split + test split should = 1."/> |
| 222 <param name="threshold" type="float" value="0.5" min="0.0" max="1.0" optional="true" label="Decision Threshold (binary only)" help="Set the decision threshold for binary classification (0.0–1.0). Only applies when task is binary; default is 0.5." /> | |
| 221 </when> | 223 </when> |
| 222 <when value="false"> | 224 <when value="false"> |
| 223 <!-- No additional parameters to show if the user selects 'No' --> | 225 <!-- No additional parameters to show if the user selects 'No' --> |
| 224 </when> | 226 </when> |
| 225 </conditional> | 227 </conditional> |
| 305 <has_text text="Results Summary" /> | 307 <has_text text="Results Summary" /> |
| 306 <has_text text="Train/Validation Results" /> | 308 <has_text text="Train/Validation Results" /> |
| 307 <has_text text="Test Results" /> | 309 <has_text text="Test Results" /> |
| 308 </assert_contents> | 310 </assert_contents> |
| 309 </output> | 311 </output> |
| 310 <output name="output_report" file="expected_regression.html" compare="sim_size"/> | |
| 311 | |
| 312 <output_collection name="output_pred_csv" type="list" > | 312 <output_collection name="output_pred_csv" type="list" > |
| 313 <element name="predictions.csv" > | 313 <element name="predictions.csv" > |
| 314 <assert_contents> | 314 <assert_contents> |
| 315 <has_n_columns n="1" /> | 315 <has_n_columns n="1" /> |
| 316 </assert_contents> | 316 </assert_contents> |
| 317 </element> | 317 </element> |
| 318 </output_collection> | 318 </output_collection> |
| 319 </test> | 319 </test> |
| 320 </tests> | 320 </tests> |
| 321 <help> | 321 <help> |
| 322 <![CDATA[ | 322 <![CDATA[ |
| 323 **What it does** | 323 **What it does** |
| 324 Image Learner for Classification/regression: trains and evaluates a image classification/regression model. | 324 Image Learner for Classification: trains and evaluates a image classification model. |
| 325 It uses the metadata csv to find the image paths and labels. | 325 It uses the metadata csv to find the image paths and labels. |
| 326 The metadata csv should contain a column with the name 'image_path' and a column with the name 'label'. | 326 The metadata csv should contain a column with the name 'image_path' and a column with the name 'label'. |
| 327 Optionally, you can also add a column with the name 'split' to specify which split each row belongs to (train, val, test). | 327 Optionally, you can also add a column with the name 'split' to specify which split each row belongs to (train, val, test). |
| 328 If you do not provide a split column, the tool will automatically split the data into train, val, and test sets based on the proportions you specify or [0.7, 0.1, 0.2] by default. | 328 If you do not provide a split column, the tool will automatically split the data into train, val, and test sets based on the proportions you specify or [0.7, 0.1, 0.2] by default. |
| 329 | |
| 330 **If the selected label column has more than 10 unique values, the tool will automatically treat the task as a regression problem and apply appropriate metrics (e.g., MSE, RMSE, R²).** | |
| 331 | 329 |
| 332 | 330 |
| 333 **Outputs** | 331 **Outputs** |
| 334 The tool will output a trained model in the form of a ludwig_model file, | 332 The tool will output a trained model in the form of a ludwig_model file, |
| 335 a report in the form of an HTML file, and a collection of CSV/json/png files containing the predictions, experiment stats and visualizations. | 333 a report in the form of an HTML file, and a collection of CSV/json/png files containing the predictions, experiment stats and visualizations. |
