list(set(CLIENT_IDS)) is not reproducible
The code for taking client_ids from files is not reproducible. Specially, if you want to run two separate tasks for train and evaluation this is serious issue.
For example running the following code will produce different list each time:
import bob.db.voxforge
db = bob.db.voxforge.Database()
files = db.objects()
CLIENT_IDS = (str(f.client_id) for f in files)
CLIENT_IDS = list(set(CLIENT_IDS))
for id in CLIENT_IDS:
print(id)
Simple solution can be sorting the CLIENT_IDS
with CLIENT_IDS.sort()