Removed call to tf.Session (useless + incompatible with tf2)

This commit is contained in:
romi1502
2020-09-25 13:18:36 +02:00
parent 2af82f5fe5
commit 3df2fa36cc

View File

@@ -42,67 +42,63 @@ print("RUNNING TESTS WITH TF VERSION {}".format(tf.__version__))
@pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS) @pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS)
def test_separate(test_file, configuration, backend): def test_separate(test_file, configuration, backend):
""" Test separation from raw data. """ """ Test separation from raw data. """
with tf.Session() as sess: instruments = MODEL_TO_INST[configuration]
instruments = MODEL_TO_INST[configuration] adapter = get_default_audio_adapter()
adapter = get_default_audio_adapter() waveform, _ = adapter.load(test_file)
waveform, _ = adapter.load(test_file) separator = Separator(configuration, stft_backend=backend)
separator = Separator(configuration, stft_backend=backend) prediction = separator.separate(waveform, test_file)
prediction = separator.separate(waveform, test_file) assert len(prediction) == len(instruments)
assert len(prediction) == len(instruments) for instrument in instruments:
for instrument in instruments: assert instrument in prediction
assert instrument in prediction for instrument in instruments:
for instrument in instruments: track = prediction[instrument]
track = prediction[instrument] assert waveform.shape[:-1] == track.shape[:-1]
assert waveform.shape[:-1] == track.shape[:-1] assert not np.allclose(waveform, track)
assert not np.allclose(waveform, track) for compared in instruments:
for compared in instruments: if instrument != compared:
if instrument != compared: assert not np.allclose(track, prediction[compared])
assert not np.allclose(track, prediction[compared])
@pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS) @pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS)
def test_separate_to_file(test_file, configuration, backend): def test_separate_to_file(test_file, configuration, backend):
""" Test file based separation. """ """ Test file based separation. """
with tf.Session() as sess: instruments = MODEL_TO_INST[configuration]
instruments = MODEL_TO_INST[configuration] separator = Separator(configuration, stft_backend=backend)
separator = Separator(configuration, stft_backend=backend) name = splitext(basename(test_file))[0]
name = splitext(basename(test_file))[0] with TemporaryDirectory() as directory:
with TemporaryDirectory() as directory: separator.separate_to_file(
separator.separate_to_file( test_file,
test_file, directory)
directory) for instrument in instruments:
for instrument in instruments: assert exists(join(
assert exists(join( directory,
directory, '{}/{}.wav'.format(name, instrument)))
'{}/{}.wav'.format(name, instrument)))
@pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS) @pytest.mark.parametrize('test_file, configuration, backend', TEST_CONFIGURATIONS)
def test_filename_format(test_file, configuration, backend): def test_filename_format(test_file, configuration, backend):
""" Test custom filename format. """ """ Test custom filename format. """
with tf.Session() as sess: instruments = MODEL_TO_INST[configuration]
instruments = MODEL_TO_INST[configuration] separator = Separator(configuration, stft_backend=backend)
separator = Separator(configuration, stft_backend=backend) name = splitext(basename(test_file))[0]
name = splitext(basename(test_file))[0] with TemporaryDirectory() as directory:
with TemporaryDirectory() as directory: separator.separate_to_file(
separator.separate_to_file( test_file,
test_file, directory,
filename_format='export/{filename}/{instrument}.{codec}')
for instrument in instruments:
assert exists(join(
directory, directory,
filename_format='export/{filename}/{instrument}.{codec}') 'export/{}/{}.wav'.format(name, instrument)))
for instrument in instruments:
assert exists(join(
directory,
'export/{}/{}.wav'.format(name, instrument)))
@pytest.mark.parametrize('test_file, configuration', MODELS_AND_TEST_FILES) @pytest.mark.parametrize('test_file, configuration', MODELS_AND_TEST_FILES)
def test_filename_conflict(test_file, configuration): def test_filename_conflict(test_file, configuration):
""" Test error handling with static pattern. """ """ Test error handling with static pattern. """
with tf.Session() as sess: separator = Separator(configuration)
separator = Separator(configuration) with TemporaryDirectory() as directory:
with TemporaryDirectory() as directory: with pytest.raises(SpleeterError):
with pytest.raises(SpleeterError): separator.separate_to_file(
separator.separate_to_file( test_file,
test_file, directory,
directory, filename_format='I wanna be your lover')
filename_format='I wanna be your lover')