Mercurial > repos > bgruening > sklearn_svm_classifier
annotate keras_deep_learning.py @ 22:cefbe0fe1bbb draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 8850f42c2c3763e614f7454c9c006f3d2ff572c0
| author | bgruening | 
|---|---|
| date | Fri, 27 May 2022 11:25:59 +0000 | 
| parents | 9cff519e0d13 | 
| children | 0be7886106fb | 
| rev | line source | 
|---|---|
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 1 import argparse | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 2 import json | 
| 19 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 3 import pickle | 
| 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 4 import warnings | 
| 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 5 from ast import literal_eval | 
| 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 6 | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 7 import keras | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 8 import pandas as pd | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 9 import six | 
| 19 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 10 from galaxy_ml.utils import get_search_params, SafeEval, try_get_attr | 
| 
6b557c954b0d
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: 
18diff
changeset | 11 from keras.models import Model, Sequential | 
| 11 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 12 | 
| 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 13 safe_eval = SafeEval() | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 14 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 15 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 16 def _handle_shape(literal): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 17 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 18 Eval integer or list/tuple of integers from string | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 19 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 20 Parameters: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 21 ----------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 22 literal : str. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 23 """ | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 24 literal = literal.strip() | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 25 if not literal: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 26 return None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 27 try: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 28 return literal_eval(literal) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 29 except NameError as e: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 30 print(e) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 31 return literal | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 32 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 33 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 34 def _handle_regularizer(literal): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 35 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 36 Construct regularizer from string literal | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 37 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 38 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 39 ---------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 40 literal : str. E.g. '(0.1, 0)' | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 41 """ | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 42 literal = literal.strip() | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 43 if not literal: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 44 return None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 45 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 46 l1, l2 = literal_eval(literal) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 47 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 48 if not l1 and not l2: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 49 return None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 50 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 51 if l1 is None: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 52 l1 = 0.0 | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 53 if l2 is None: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 54 l2 = 0.0 | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 55 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 56 return keras.regularizers.l1_l2(l1=l1, l2=l2) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 57 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 58 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 59 def _handle_constraint(config): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 60 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 61 Construct constraint from galaxy tool parameters. | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 62 Suppose correct dictionary format | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 63 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 64 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 65 ---------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 66 config : dict. E.g. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 67 "bias_constraint": | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 68 {"constraint_options": | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 69 {"max_value":1.0, | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 70 "min_value":0.0, | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 71 "axis":"[0, 1, 2]" | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 72 }, | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 73 "constraint_type": | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 74 "MinMaxNorm" | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 75 } | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 76 """ | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 77 constraint_type = config["constraint_type"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 78 if constraint_type in ("None", ""): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 79 return None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 80 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 81 klass = getattr(keras.constraints, constraint_type) | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 82 options = config.get("constraint_options", {}) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 83 if "axis" in options: | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 84 options["axis"] = literal_eval(options["axis"]) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 85 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 86 return klass(**options) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 87 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 88 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 89 def _handle_lambda(literal): | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 90 return None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 91 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 92 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 93 def _handle_layer_parameters(params): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 94 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 95 Access to handle all kinds of parameters | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 96 """ | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 97 for key, value in six.iteritems(params): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 98 if value in ("None", ""): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 99 params[key] = None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 100 continue | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 101 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 102 if type(value) in [int, float, bool] or ( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 103 type(value) is str and value.isalpha() | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 104 ): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 105 continue | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 106 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 107 if ( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 108 key | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 109 in [ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 110 "input_shape", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 111 "noise_shape", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 112 "shape", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 113 "batch_shape", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 114 "target_shape", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 115 "dims", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 116 "kernel_size", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 117 "strides", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 118 "dilation_rate", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 119 "output_padding", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 120 "cropping", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 121 "size", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 122 "padding", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 123 "pool_size", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 124 "axis", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 125 "shared_axes", | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 126 ] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 127 and isinstance(value, str) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 128 ): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 129 params[key] = _handle_shape(value) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 130 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 131 elif key.endswith("_regularizer") and isinstance(value, dict): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 132 params[key] = _handle_regularizer(value) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 133 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 134 elif key.endswith("_constraint") and isinstance(value, dict): | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 135 params[key] = _handle_constraint(value) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 136 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 137 elif key == "function": # No support for lambda/function eval | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 138 params.pop(key) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 139 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 140 return params | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 141 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 142 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 143 def get_sequential_model(config): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 144 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 145 Construct keras Sequential model from Galaxy tool parameters | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 146 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 147 Parameters: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 148 ----------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 149 config : dictionary, galaxy tool parameters loaded by JSON | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 150 """ | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 151 model = Sequential() | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 152 input_shape = _handle_shape(config["input_shape"]) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 153 layers = config["layers"] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 154 for layer in layers: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 155 options = layer["layer_selection"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 156 layer_type = options.pop("layer_type") | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 157 klass = getattr(keras.layers, layer_type) | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 158 kwargs = options.pop("kwargs", "") | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 159 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 160 # parameters needs special care | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 161 options = _handle_layer_parameters(options) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 162 | 
| 11 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 163 if kwargs: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 164 kwargs = safe_eval("dict(" + kwargs + ")") | 
| 11 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 165 options.update(kwargs) | 
| 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 166 | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 167 # add input_shape to the first layer only | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 168 if not getattr(model, "_layers") and input_shape is not None: | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 169 options["input_shape"] = input_shape | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 170 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 171 model.add(klass(**options)) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 172 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 173 return model | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 174 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 175 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 176 def get_functional_model(config): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 177 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 178 Construct keras functional model from Galaxy tool parameters | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 179 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 180 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 181 ----------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 182 config : dictionary, galaxy tool parameters loaded by JSON | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 183 """ | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 184 layers = config["layers"] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 185 all_layers = [] | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 186 for layer in layers: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 187 options = layer["layer_selection"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 188 layer_type = options.pop("layer_type") | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 189 klass = getattr(keras.layers, layer_type) | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 190 inbound_nodes = options.pop("inbound_nodes", None) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 191 kwargs = options.pop("kwargs", "") | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 192 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 193 # parameters needs special care | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 194 options = _handle_layer_parameters(options) | 
| 11 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 195 | 
| 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 196 if kwargs: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 197 kwargs = safe_eval("dict(" + kwargs + ")") | 
| 11 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 198 options.update(kwargs) | 
| 
a14fb713aaad
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ba6a47bdf76bbf4cb276206ac1a8cbf61332fd16"
 bgruening parents: 
10diff
changeset | 199 | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 200 # merge layers | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 201 if "merging_layers" in options: | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 202 idxs = literal_eval(options.pop("merging_layers")) | 
| 18 
aa5170605077
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: 
15diff
changeset | 203 merging_layers = [all_layers[i - 1] for i in idxs] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 204 new_layer = klass(**options)(merging_layers) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 205 # non-input layers | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 206 elif inbound_nodes is not None: | 
| 18 
aa5170605077
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: 
15diff
changeset | 207 new_layer = klass(**options)(all_layers[inbound_nodes - 1]) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 208 # input layers | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 209 else: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 210 new_layer = klass(**options) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 211 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 212 all_layers.append(new_layer) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 213 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 214 input_indexes = _handle_shape(config["input_layers"]) | 
| 18 
aa5170605077
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: 
15diff
changeset | 215 input_layers = [all_layers[i - 1] for i in input_indexes] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 216 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 217 output_indexes = _handle_shape(config["output_layers"]) | 
| 18 
aa5170605077
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: 
15diff
changeset | 218 output_layers = [all_layers[i - 1] for i in output_indexes] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 219 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 220 return Model(inputs=input_layers, outputs=output_layers) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 221 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 222 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 223 def get_batch_generator(config): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 224 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 225 Construct keras online data generator from Galaxy tool parameters | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 226 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 227 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 228 ----------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 229 config : dictionary, galaxy tool parameters loaded by JSON | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 230 """ | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 231 generator_type = config.pop("generator_type") | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 232 if generator_type == "none": | 
| 15 
2bbf0b17deab
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
 bgruening parents: 
11diff
changeset | 233 return None | 
| 
2bbf0b17deab
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
 bgruening parents: 
11diff
changeset | 234 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 235 klass = try_get_attr("galaxy_ml.preprocessors", generator_type) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 236 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 237 if generator_type == "GenomicIntervalBatchGenerator": | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 238 config["ref_genome_path"] = "to_be_determined" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 239 config["intervals_path"] = "to_be_determined" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 240 config["target_path"] = "to_be_determined" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 241 config["features"] = "to_be_determined" | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 242 else: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 243 config["fasta_path"] = "to_be_determined" | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 244 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 245 return klass(**config) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 246 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 247 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 248 def config_keras_model(inputs, outfile): | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 249 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 250 config keras model layers and output JSON | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 251 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 252 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 253 ---------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 254 inputs : dict | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 255 loaded galaxy tool parameters from `keras_model_config` | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 256 tool. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 257 outfile : str | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 258 Path to galaxy dataset containing keras model JSON. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 259 """ | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 260 model_type = inputs["model_selection"]["model_type"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 261 layers_config = inputs["model_selection"] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 262 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 263 if model_type == "sequential": | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 264 model = get_sequential_model(layers_config) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 265 else: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 266 model = get_functional_model(layers_config) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 267 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 268 json_string = model.to_json() | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 269 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 270 with open(outfile, "w") as f: | 
| 15 
2bbf0b17deab
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 5b2ac730ec6d3b762faa9034eddd19ad1b347476"
 bgruening parents: 
11diff
changeset | 271 json.dump(json.loads(json_string), f, indent=2) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 272 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 273 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 274 def build_keras_model( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 275 inputs, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 276 outfile, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 277 model_json, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 278 infile_weights=None, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 279 batch_mode=False, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 280 outfile_params=None, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 281 ): | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 282 """ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 283 for `keras_model_builder` tool | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 284 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 285 Parameters | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 286 ---------- | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 287 inputs : dict | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 288 loaded galaxy tool parameters from `keras_model_builder` tool. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 289 outfile : str | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 290 Path to galaxy dataset containing the keras_galaxy model output. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 291 model_json : str | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 292 Path to dataset containing keras model JSON. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 293 infile_weights : str or None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 294 If string, path to dataset containing model weights. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 295 batch_mode : bool, default=False | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 296 Whether to build online batch classifier. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 297 outfile_params : str, default=None | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 298 File path to search parameters output. | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 299 """ | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 300 with open(model_json, "r") as f: | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 301 json_model = json.load(f) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 302 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 303 config = json_model["config"] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 304 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 305 options = {} | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 306 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 307 if json_model["class_name"] == "Sequential": | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 308 options["model_type"] = "sequential" | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 309 klass = Sequential | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 310 elif json_model["class_name"] == "Model": | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 311 options["model_type"] = "functional" | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 312 klass = Model | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 313 else: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 314 raise ValueError("Unknow Keras model class: %s" % json_model["class_name"]) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 315 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 316 # load prefitted model | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 317 if inputs["mode_selection"]["mode_type"] == "prefitted": | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 318 estimator = klass.from_config(config) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 319 estimator.load_weights(infile_weights) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 320 # build train model | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 321 else: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 322 cls_name = inputs["mode_selection"]["learning_type"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 323 klass = try_get_attr("galaxy_ml.keras_galaxy_models", cls_name) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 324 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 325 options["loss"] = inputs["mode_selection"]["compile_params"]["loss"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 326 options["optimizer"] = ( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 327 inputs["mode_selection"]["compile_params"]["optimizer_selection"][ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 328 "optimizer_type" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 329 ] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 330 ).lower() | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 331 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 332 options.update( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 333 ( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 334 inputs["mode_selection"]["compile_params"]["optimizer_selection"][ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 335 "optimizer_options" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 336 ] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 337 ) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 338 ) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 339 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 340 train_metrics = inputs["mode_selection"]["compile_params"]["metrics"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 341 if train_metrics[-1] == "none": | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 342 train_metrics = train_metrics[:-1] | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 343 options["metrics"] = train_metrics | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 344 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 345 options.update(inputs["mode_selection"]["fit_params"]) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 346 options["seed"] = inputs["mode_selection"]["random_seed"] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 347 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 348 if batch_mode: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 349 generator = get_batch_generator( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 350 inputs["mode_selection"]["generator_selection"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 351 ) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 352 options["data_batch_generator"] = generator | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 353 options["prediction_steps"] = inputs["mode_selection"]["prediction_steps"] | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 354 options["class_positive_factor"] = inputs["mode_selection"][ | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 355 "class_positive_factor" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 356 ] | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 357 estimator = klass(config, **options) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 358 if outfile_params: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 359 hyper_params = get_search_params(estimator) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 360 # TODO: remove this after making `verbose` tunable | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 361 for h_param in hyper_params: | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 362 if h_param[1].endswith("verbose"): | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 363 h_param[0] = "@" | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 364 df = pd.DataFrame(hyper_params, columns=["", "Parameter", "Value"]) | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 365 df.to_csv(outfile_params, sep="\t", index=False) | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 366 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 367 print(repr(estimator)) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 368 # save model by pickle | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 369 with open(outfile, "wb") as f: | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 370 pickle.dump(estimator, f, pickle.HIGHEST_PROTOCOL) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 371 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 372 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 373 if __name__ == "__main__": | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 374 warnings.simplefilter("ignore") | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 375 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 376 aparser = argparse.ArgumentParser() | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 377 aparser.add_argument("-i", "--inputs", dest="inputs", required=True) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 378 aparser.add_argument("-m", "--model_json", dest="model_json") | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 379 aparser.add_argument("-t", "--tool_id", dest="tool_id") | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 380 aparser.add_argument("-w", "--infile_weights", dest="infile_weights") | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 381 aparser.add_argument("-o", "--outfile", dest="outfile") | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 382 aparser.add_argument("-p", "--outfile_params", dest="outfile_params") | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 383 args = aparser.parse_args() | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 384 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 385 input_json_path = args.inputs | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 386 with open(input_json_path, "r") as param_handler: | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 387 inputs = json.load(param_handler) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 388 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 389 tool_id = args.tool_id | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 390 outfile = args.outfile | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 391 outfile_params = args.outfile_params | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 392 model_json = args.model_json | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 393 infile_weights = args.infile_weights | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 394 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 395 # for keras_model_config tool | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 396 if tool_id == "keras_model_config": | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 397 config_keras_model(inputs, outfile) | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 398 | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 399 # for keras_model_builder tool | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 400 else: | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 401 batch_mode = False | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 402 if tool_id == "keras_batch_models": | 
| 10 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 403 batch_mode = True | 
| 
3469b50cfb9b
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 60f0fbc0eafd7c11bc60fb6c77f2937782efd8a9-dirty
 bgruening parents: diff
changeset | 404 | 
| 20 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 405 build_keras_model( | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 406 inputs=inputs, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 407 model_json=model_json, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 408 infile_weights=infile_weights, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 409 batch_mode=batch_mode, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 410 outfile=outfile, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 411 outfile_params=outfile_params, | 
| 
9cff519e0d13
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
19diff
changeset | 412 ) | 
