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.