diff models/model_5.py @ 0:457fd8fd681a draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/VirHunter commit 628688c1302dbf972e48806d2a5bafe27847bdcc
author iuc
date Wed, 09 Nov 2022 12:19:26 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/models/model_5.py	Wed Nov 09 12:19:26 2022 +0000
@@ -0,0 +1,49 @@
+from tensorflow.keras import layers, models
+
+
+def launch(input_layer, hidden_layers):
+    output = input_layer
+    for hidden_layer in hidden_layers:
+        output = hidden_layer(output)
+    return output
+
+
+def model(length, kernel_size=5, filters=256, dense_ns=256):
+    forward_input = layers.Input(shape=(length, 4))
+    reverse_input = layers.Input(shape=(length, 4))
+    hidden_layers = [
+        layers.Conv1D(filters=filters, kernel_size=kernel_size),
+        layers.LeakyReLU(alpha=0.1),
+        layers.GlobalMaxPooling1D(),
+        layers.Dropout(0.1),
+    ]
+    forward_output = launch(forward_input, hidden_layers)
+    reverse_output = launch(reverse_input, hidden_layers)
+    output = layers.Concatenate()([forward_output, reverse_output])
+    output = layers.Dense(dense_ns, activation='relu')(output)
+    output = layers.Dropout(0.1)(output)
+    # output = layers.Dense(64, activation='relu')(output)
+    # output = layers.Dropout(0.1)(output)
+    output = layers.Dense(3, activation='softmax')(output)
+    model_ = models.Model(inputs=[forward_input, reverse_input], outputs=output)
+    model_.compile(optimizer="adam", loss='categorical_crossentropy', metrics='accuracy')
+    return model_
+
+
+# def model(length, kernel_size=5, filters=256, dense_ns=512):
+#     forward_input = layers.Input(shape=(length, 4))
+#     reverse_input = layers.Input(shape=(length, 4))
+#     hidden_layers = [
+#         layers.Conv1D(filters=filters, kernel_size=kernel_size),
+#         layers.MaxPool1D(pool_size=50, strides=25),
+#         layers.LSTM(32),
+#     ]
+#     forward_output = launch(forward_input, hidden_layers)
+#     reverse_output = launch(reverse_input, hidden_layers)
+#     output = layers.Concatenate()([forward_output, reverse_output])
+#     # output = layers.Dense(64, activation='relu')(output)
+#     output = layers.Dropout(0.1)(output)
+#     output = layers.Dense(3, activation='softmax')(output)
+#     model_ = models.Model(inputs=[forward_input, reverse_input], outputs=output)
+#     model_.compile(optimizer="adam", loss='categorical_crossentropy', metrics='accuracy')
+#     return model_