Skip to content
Snippets Groups Projects
Commit a3e4a957 authored by lukas leufen's avatar lukas leufen
Browse files

replaced keras_name_part_split by PyTestRegex class

parent 6f72afab
No related branches found
No related tags found
2 merge requests!59Develop,!55update tests for keras namings
Pipeline #31238 passed
......@@ -32,7 +32,7 @@ tests:
- django
stage: test
variables:
FAILURE_THRESHOLD: 90
FAILURE_THRESHOLD: 100
before_script:
- chmod +x ./CI/update_badge.sh
- ./CI/update_badge.sh > /dev/null
......
......@@ -3,6 +3,7 @@ import pytest
import re
from src.model_modules.inception_model import InceptionModelBase
from src.helpers import PyTestRegex
class TestInceptionModelBase:
......@@ -21,19 +22,6 @@ class TestInceptionModelBase:
element = element.input._keras_history[0]
return element
@staticmethod
def keras_name_part_split(test_value: str, target_value: str, sep='/'):
layer_name, layer_type = test_value.split(sep)
target_name, target_type = target_value.split(sep)
n_layer_name = len(re.findall("_", layer_name))
n_target_name = len(re.findall("_", target_name))
if (n_layer_name == n_target_name) or (n_layer_name == n_target_name + 1):
name_test = target_name in layer_name
else:
name_test = False
type_test = (layer_type == target_type)
return name_test and type_test
def test_init(self, base):
assert base.number_of_blocks == 0
assert base.part_of_block == 0
......@@ -159,16 +147,16 @@ class TestInceptionModelBase:
assert len(concatenated) == 4
block_1a, block_1b, block_pool1, block_pool2 = concatenated
# keras_name_part_split
assert self.keras_name_part_split(block_1a.name, 'Block_1a_act_2/Relu:0')
assert self.keras_name_part_split(block_1b.name, 'Block_1b_act_2_tanh/Tanh:0')
assert self.keras_name_part_split(block_pool1.name, 'Block_1c_act_1/Relu:0')
assert self.keras_name_part_split(block_pool2.name, 'Block_1d_act_1/Relu:0')
assert block_1a.name == PyTestRegex(r'Block_1a_act_2(_\d*)?/Relu:0')
assert block_1b.name == PyTestRegex(r'Block_1b_act_2_tanh(_\d*)?/Tanh:0')
assert block_pool1.name == PyTestRegex(r'Block_1c_act_1(_\d*)?/Relu:0')
assert block_pool2.name == PyTestRegex(r'Block_1d_act_1(_\d*)?/Relu:0')
assert self.step_in(block_1a._keras_history[0]).name == "Block_1a_3x3"
assert self.step_in(block_1b._keras_history[0]).name == "Block_1b_5x5"
assert isinstance(self.step_in(block_pool1._keras_history[0], depth=2), keras.layers.pooling.MaxPooling2D)
assert isinstance(self.step_in(block_pool2._keras_history[0], depth=2), keras.layers.pooling.AveragePooling2D)
# check naming of concat layer
assert self.keras_name_part_split(block.name, 'Block_1_Co/concat:0')
assert block.name == PyTestRegex('Block_1_Co(_\d*)?/concat:0')
assert block._keras_history[0].name == 'Block_1_Co'
assert isinstance(block._keras_history[0], keras.layers.merge.Concatenate)
# next block
......@@ -179,14 +167,14 @@ class TestInceptionModelBase:
concatenated = block._keras_history[0].input
assert len(concatenated) == 3
block_2a, block_2b, block_pool = concatenated
assert self.keras_name_part_split(block_2a.name, 'Block_2a_act_2/Relu:0')
assert self.keras_name_part_split(block_2b.name, 'Block_2b_act_2_tanh/Tanh:0')
assert self.keras_name_part_split(block_pool.name, 'Block_2c_act_1/Relu:0')
assert block_2a.name == PyTestRegex(r'Block_2a_act_2(_\d*)?/Relu:0')
assert block_2b.name == PyTestRegex(r'Block_2b_act_2_tanh(_\d*)?/Tanh:0')
assert block_pool.name == PyTestRegex(r'Block_2c_act_1(_\d*)?/Relu:0')
assert self.step_in(block_2a._keras_history[0]).name == "Block_2a_3x3"
assert self.step_in(block_2b._keras_history[0]).name == "Block_2b_5x5"
assert isinstance(self.step_in(block_pool._keras_history[0], depth=2), keras.layers.pooling.MaxPooling2D)
# check naming of concat layer
assert self.keras_name_part_split(block.name, 'Block_2_Co/concat:0')
assert block.name == PyTestRegex(r'Block_2_Co(_\d*)?/concat:0')
assert block._keras_history[0].name == 'Block_2_Co'
assert isinstance(block._keras_history[0], keras.layers.merge.Concatenate)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment