diff ludwig_render_config.xml @ 0:ed8a9ea5bc73 draft default tip

planemo upload for repository https://github.com/goeckslab/Galaxy-Ludwig.git commit bdea9430787658783a51cc6c2ae951a01e455bb4
author goeckslab
date Tue, 07 Jan 2025 22:45:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ludwig_render_config.xml	Tue Jan 07 22:45:58 2025 +0000
@@ -0,0 +1,509 @@
+<tool id="ludwig_render_config" name="Ludwig Render Config" version="@VERSION@" profile="@PROFILE@">
+    <description>renders thefull config based on user input</description>
+    <macros>
+        <import>ludwig_macros.xml</import>
+    </macros>
+    <expand macro="python_requirements_gpu" />
+    <expand macro="macro_stdio" />
+    <version_command>echo "@VERSION@"</version_command>
+    <command>
+        <![CDATA[
+            python '$__tool_directory__/ludwig_render_config.py' '$inputs' '$output'
+        ]]>
+    </command>
+    <configfiles>
+        <inputs name="inputs" />
+    </configfiles>
+    <inputs>
+        <section name="input_features" title="Input Features" expanded="true">
+            <repeat name="input_feature" min="1" max="30" title="Input Feature">
+                <conditional name="input_feature_selector" >
+                    <param name="type" type="select" label="Select an input feature type">
+                        <option value="number" selected="true">number</option>
+                        <option value="binary">binary</option>
+                        <option value="category">category</option>
+                        <option value="set">set</option>
+                        <option value="bag">bag</option>
+                        <option value="sequence">sequence</option>
+                        <option value="text">text</option>
+                        <option value="timeseries">timeseries</option>
+                        <option value="audio">audio</option>
+                        <option value="image">image</option>
+                        <option value="date">date</option>
+                        <option value="h3">h3</option>
+                        <option value="vector">vector</option>
+                    </param>
+                    <when value="number">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="passthrough" selected="true">passthrough</option>
+                                <option value="dense">dense</option>
+                                <option value="sparse">sparse</option>
+                            </param>
+                            <when value="passthrough" />
+                            <when value="dense" />
+                            <when value="sparse" />
+                        </conditional>
+                    </when>
+                    <when value="binary">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="passthrough" selected="true">passthrough</option>
+                                <option value="dense">dense</option>
+                            </param>
+                            <when value="passthrough" />
+                            <when value="dense" />
+                        </conditional>
+                    </when>
+                    <when value="category">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="passthrough" selected="true">passthrough</option>
+                                <option value="dense">dense</option>
+                                <option value="sparse">sparse</option>
+                            </param>
+                            <when value="passthrough" />
+                            <when value="dense" />
+                            <when value="sparse" />
+                        </conditional>
+                    </when>
+                    <when value="set">
+                    </when>
+                    <when value="bag">
+                    </when>
+                    <when value="sequence">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="parallel_cnn" selected="true">parallel_cnn</option>
+                                <option value="embed">embed</option>
+                                <option value="stacked_cnn">stacked_cnn</option>
+                                <option value="stacked_parallel_cnn">stacked_parallel_cnn</option>
+                                <option value="rnn">rnn</option>
+                                <option value="cnnrnn">cnnrnn</option>
+                                <option value="transformer">transformer</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="parallel_cnn" />
+                            <when value="embed" />
+                            <when value="stacked_cnn" />
+                            <when value="stacked_parallel_cnn" />
+                            <when value="rnn" />
+                            <when value="cnnrnn" />
+                            <when value="transformer" />
+                            <when value="passthrough" />
+                        </conditional>
+                    </when>
+                    <when value="text">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="parallel_cnn" selected="true">parallel_cnn</option>
+                                <option value="embed">embed</option>
+                                <option value="stacked_cnn">stacked_cnn</option>
+                                <option value="stacked_parallel_cnn">stacked_parallel_cnn</option>
+                                <option value="rnn">rnn</option>
+                                <option value="cnnrnn">cnnrnn</option>
+                                <option value="transformer">transformer</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="parallel_cnn" />
+                            <when value="embed" />
+                            <when value="stacked_cnn" />
+                            <when value="stacked_parallel_cnn" />
+                            <when value="rnn" />
+                            <when value="cnnrnn" />
+                            <when value="transformer" />
+                            <when value="passthrough" />
+                        </conditional>
+                    </when>
+                    <when value="timeseries">
+                    </when>
+                    <when value="audio">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="parallel_cnn" selected="true">parallel_cnn</option>
+                                <option value="embed">embed</option>
+                                <option value="stacked_cnn">stacked_cnn</option>
+                                <option value="stacked_parallel_cnn">stacked_parallel_cnn</option>
+                                <option value="rnn">rnn</option>
+                                <option value="cnnrnn">cnnrnn</option>
+                                <option value="transformer">transformer</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="parallel_cnn" />
+                            <when value="embed" />
+                            <when value="stacked_cnn" />
+                            <when value="stacked_parallel_cnn" />
+                            <when value="rnn" />
+                            <when value="cnnrnn" />
+                            <when value="transformer" />
+                            <when value="passthrough" />
+                        </conditional>
+                    </when>
+                    <when value="image">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="stacked_cnn" selected="true">stacked_cnn</option>
+                                <option value="resnet">resnet</option>
+                                <option value="mlp_mixer">mlp_mixer</option>
+                                <option value="vit">vit</option>
+                            </param>
+                            <when value="stacked_cnn" />
+                            <when value="resnet" />
+                            <when value="mlp_mixer" />
+                            <when value="vit" />
+                        </conditional>
+                    </when>
+                    <when value="date">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="embed" selected="true">embed</option>
+                                <option value="wave">wave</option>
+                            </param>
+                            <when value="embed" />
+                            <when value="wave" />
+                        </conditional>
+                    </when>
+                    <when value="h3">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="embed" selected="true">embed</option>
+                                <option value="weighted_sum">weighted_sum</option>
+                                <option value="rnn">rnn</option>
+                            </param>
+                            <when value="embed" />
+                            <when value="weighted_sum" />
+                            <when value="rnn" />
+                        </conditional>
+                    </when>
+                    <when value="vector">
+                        <param argument="name" type="text" value="" label="Name"/>
+                        <conditional name="encoder">
+                            <param argument="type" type="select" label="Select an encoder">
+                                <option value="passthrough">passthrough</option>
+                                <option value="dense" selected="true">dense</option>
+                            </param>
+                            <when value="passthrough" />
+                            <when value="dense" />
+                        </conditional>
+                    </when>
+                </conditional>
+            </repeat>
+        </section>
+        <section name="output_features" title="Output Features" expanded="true">
+            <repeat name="output_feature" min="1" max="30" title="Output Feature">
+                <conditional name="output_feature_selector">
+                    <param argument="type" type="select" label="Select an ouput feature type">
+                        <option value="category" selected="true">category</option>
+                        <option value="binary" >binary</option>
+                        <option value="set" >set</option>
+                        <option value="vector" >vector</option>
+                        <option value="number" >number</option>
+                        <option value="sequence" >sequence</option>
+                        <option value="text" >text</option>
+                    </param>
+                    <when value="category">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="classifier" selected="true">classifier</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="classifier">
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="0" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="softmax_cross_entropy" selected="true">softmax_cross_entropy</option>
+                            </param>
+                            <when value="softmax_cross_entropy" />
+                        </conditional>
+                        <param argument="top_k" type="integer" value="3" help="The number of categories to consider when computing the first k measure." min="2" max="10" />
+                    </when>
+                    <when value="binary">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="regressor" selected="true">regressor</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="regressor">
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="binary_weighted_cross_entropy" selected="true">binary_weighted_cross_entropy</option>
+                            </param>
+                            <when value="binary_weighted_cross_entropy">
+                                <param argument="positive_class_weight" type="integer" value="1" help="Multiplies the loss for the positive class, increasing its importance" min="1" max="100" />
+                            </when>
+                        </conditional>
+                        <param argument="threshold" type="float" value="0.5" help="The threshold above which the predicted output of the sigmoid will be mapped to 1." min="0" max="1.0" />
+                    </when>
+                    <when value="set">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="classifier" selected="true">classifier</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="classifier">
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="sigmoid_cross_entropy" selected="true">sigmoid_cross_entropy</option>
+                            </param>
+                            <when value="sigmoid_cross_entropy" />
+                        </conditional>
+                    </when>
+                    <when value="vector">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="projector" selected="true">projector</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="projector">
+                                <param argument="softmax" type="boolean" value="false" help="Whether to apply a softmax at the end of the decoder?" />
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="0" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="mean_squared_error" selected="true">mean_squared_error</option>
+                                <option value="mean_absolute_error">mean_absolute_error</option>
+                                <option value="softmax_cross_entropy">softmax_cross_entropy (use this only if softmax is true)</option>
+                            </param>
+                            <when value="mean_squared_error" />
+                            <when value="mean_absolute_error" />
+                            <when value="softmax_cross_entropy" />
+                        </conditional>
+                    </when>
+                    <when value="number">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="regressor" selected="true">regressor</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="regressor">
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="mean_squared_error" selected="true">mean_squared_error</option>
+                                <option value="mean_absolute_error">mean_absolute_error</option>
+                                <option value="root_mean_squared_error">root_mean_squared_error</option>
+                                <option value="root_mean_squared_percentage_error">root_mean_squared_percentage_error</option>
+                            </param>
+                            <when value="mean_squared_error" />
+                            <when value="mean_absolute_error" />
+                            <when value="root_mean_squared_error" />
+                            <when value="root_mean_squared_percentage_error" />
+                        </conditional>
+                    </when>
+                    <when value="sequence">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="generator" selected="true">generator</option>
+                                <option value="tagger">tagger</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="generator">
+                                <param argument="cell_type" type="select" label="Selct the type of recurrent cell to use" >
+                                    <option value="gru" selected="true">gru</option>
+                                    <option value="rnn">rnn</option>
+                                    <option value="lstm">lstm</option>
+                                </param>
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="tagger">
+                                <param argument="use_attention" type="boolean" value="false" help="Whether to apply a multi-head self attention layer before prediction?" />
+                                <param argument="use_bias" type="boolean" value="true" help="whether the layer uses a bias vector?" />
+                                <param argument="attention_embedding_size" type="integer" value="256" help="The embedding size of the multi-head self attention layer." min="1" max="1024" />
+                                <param argument="attention_num_heads" type="integer" value="8" help="The number of attention heads in the multi-head self attention layer." min="1" max="16"/>
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="sequence_softmax_cross_entropy" selected="true">sequence_softmax_cross_entropy</option>
+                            </param>
+                            <when value="sequence_softmax_cross_entropy" />
+                        </conditional>
+                    </when>
+                    <when value="text">
+                        <param argument="name" type="text" value="" />
+                        <conditional name="decoder">
+                            <param argument="type" type="select" label="Select a decoder type">
+                                <option value="generator" selected="true">generator</option>
+                                <option value="tagger">tagger</option>
+                                <option value="passthrough">passthrough</option>
+                            </param>
+                            <when value="generator">
+                                <param argument="cell_type" type="select" label="Selct the type of recurrent cell to use" >
+                                    <option value="gru" selected="true">gru</option>
+                                    <option value="rnn">rnn</option>
+                                    <option value="lstm">lstm</option>
+                                </param>
+                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="tagger">
+                                <param argument="use_attention" type="boolean" value="false" help="Whether to apply a multi-head self attention layer before prediction?" />
+                                <param argument="use_bias" type="boolean" value="true" help="whether the layer uses a bias vector?" />
+                                <param argument="attention_embedding_size" type="integer" value="256" help="The embedding size of the multi-head self attention layer." min="1" max="1024" />
+                                <param argument="attention_num_heads" type="integer" value="8" help="The number of attention heads in the multi-head self attention layer." min="1" max="16"/>                                <param argument="num_fc_layers" type="integer" value="0" help="The number of stacked fully connected layers that the input to the feature passes through" min="1" max="20" />
+                                <param argument="output_size" type="integer" value="256" help="The Size of the output of a fully connected layer." min="1" max="1024" />
+                                <param argument="fc_dropout" type="float" value="0" help="Dropout rate" min="0" max="1" />
+                            </when>
+                            <when value="passthrough" />
+                        </conditional>
+                        <conditional name="loss">
+                            <param argument="type" type="select" label="Select a loss type">
+                                <option value="sequence_softmax_cross_entropy" selected="true">sequence_softmax_cross_entropy</option>
+                            </param>
+                            <when value="sequence_softmax_cross_entropy" />
+                        </conditional>
+                    </when>
+                </conditional>
+            </repeat>
+        </section>
+        <section name="combiner" title="Combiner" expanded="false">
+            <param name="type" type="select" label="Select a combiner type">
+                <option value="concat" selected="true">concat</option>
+                <option value="sequence_concat">sequence_concat</option>
+                <option value="sequence">sequence</option>
+                <option value="tabnet">tabnet</option>
+                <option value="transformer">transformer</option>
+                <option value="tabtransformer">tabtransformer</option>
+                <option value="comparator">comparator</option>
+                <option value="project_aggregate">project_aggregate</option>
+            </param>
+        </section>
+        <section name="trainer" title="Trainer" expanded="true">
+            <conditional name="trainer" >
+                <param name="model_type" type="select" label="Select the model type">
+                    <option value="ecd" selected="true">ecd</option>
+                    <option value="gbm">gbm</option>
+                </param>
+                <when value="ecd">
+                    <param argument="batch_size" type="integer" value="128" help="Batch size" min="1" max="4096" />
+                    <param argument="epochs" type="integer" value="100" help="Number of epochs" min="1" max="1000" />
+                    <conditional name="optimizer">
+                        <param name="type" type="select" label="Select an optimizer">
+                            <option value="adam" selected="true">adam</option>
+                            <option value="sgd">sgd</option>
+                            <option value="adadelta">adadelta</option>
+                            <option value="adamw">adamw</option>
+                            <option value="adagrad">adagrad</option>
+                            <option value="adamax">adamax</option>
+                            <option value="ftrl">ftrl</option>
+                            <option value="nadam">nadam</option>
+                            <option value="rmsprop">rmsprop</option>
+                        </param>
+                        <when value="adam" />
+                        <when value="sgd" />
+                        <when value="adadelta" />
+                        <when value="adamw" />
+                        <when value="adagrad" />
+                        <when value="adamax" />
+                        <when value="ftrl" />
+                        <when value="nadam" />
+                        <when value="rmsprop" />
+                    </conditional>
+                    <param argument="learning_rate" type="float" value="0.001" help="Learning rate" min="0" max="1.0" />
+                    <param argument="early_stop" type="integer" value="5" help="Number of epochs of patience without an improvement on the validation measure before the training is stopped." min="1" max="20"/>
+                </when>
+                <when value="gbm">
+                    <param argument="boosting_type" type="select" label="Select the type of boosting algorithm" >
+                        <option value="gbdt" selected="true">gbdt</option>
+                        <option value="rf">rf`</option>
+                        <option value="dart">dart</option>
+                        <option value="goss">goss</option>
+                    </param>
+                    <param argument="num_boost_round" type="integer" value="1000" help="Number of boosting rounds to perform." min="1" max="5000" />
+                    <param argument="learning_rate" type="float" value="0.03" help="Learning rate." min="0.0001" max="1.0" />
+                    <param argument="lambda_l1" type="float" value="0.25" help="L1 regularization factor." min="0" max="10.0" />
+                    <param argument="lambda_l2" type="float" value="0.2" help="L2 regularization factor." min="0" max="10.0" />
+                    <param argument="max_depth" type="integer" value="18" help="Maximum depth of a tree. A negative value means no limit." min="3" max="50" />
+                    <param argument="early_stop" type="integer" value="5" help="Number of epochs of patience without an improvement on the validation measure before the training is stopped." min="1" max="20" />                
+                </when>
+            </conditional>
+        </section>
+        <!-- <section name="preprocessing" title="Preprocessing" expanded="false">
+        </section> -->
+        <conditional name="hyperopt">
+            <param name="do_hyperopt" type="select" label="Whether to do hyperparameter optimization?">
+                <option value="false" selected="true">No</option>
+                <option value="true">Yes</option>
+            </param>
+            <when value="true">
+                <section name="hyperopt" title="Hyperparameter Optimization configuration" expanded="false">
+                    <conditional name="executor">
+                        <param argument="type" type="select" label="Select the executor type" >
+                            <option value="ray" selected="true">ray</option>
+                        </param>
+                        <when value="ray" />
+                    </conditional>
+                </section>
+            </when>
+            <when value="false" />
+        </conditional>
+    </inputs>
+    <outputs>
+        <data format="yaml" name="output" label="${tool.name}" />
+    </outputs>
+    <tests>
+        <test expect_num_outputs="1">
+            <output name="output" file="render_config01.yml" />
+        </test>
+    </tests>
+    <help>
+        <![CDATA[
+**What it does**
+Render a Ludwig config template.
+
+
+**Output**
+A yaml file.
+
+        ]]>
+    </help>
+    <expand macro="macro_citations" />
+</tool>