1
0
forked from tdwojak/Python2017
Python2017/labs03/task05.py
s45146 ed8ed03e5b Praca domowa nr 2 (labs03)
Rozwiązanie - Piotr Bystrzycki - nr indeksu 45146
2017-12-09 18:18:34 +01:00

37 lines
1.2 KiB
Python

"""
ćwiczenie 5 Katalog scores zawiera 64 pliki tekstowe, które posiadają informacje o wysokości miary BLEU na różnych etapach trenowania modelu.
Nazwa każdego pliku na postać model.iterXXXXXXX.npz.bleu, gdzie XXXXXXX, to liczba iteracji.
Zawartość każdego pliku jest podobna i ma następującą formę: BLEU = YY.YY, 44.4/18.5/9.3/5.0 (BP=1.000, ratio=1.072, hyp_len=45976, ref_len=42903),
gdzie YY.YY to wartość miary BLEU. Znajdź plik, który zawiera najwyższą wartość miary BLEU.
Wykorzystaj bibliotekę glob (https://docs.python.org/2/library/glob.html)
Wyświetl tylko pełną nazwe pliku (wraz z ścieżką).
"""
import glob
def maxBleu(dir = './scores/', retmax = False):
maxbleu, fmax = None, None
for fn in glob.glob(dir+'model.iter*.npz.bleu'):
with open(fn, 'r') as f:
nmax = f.readline().replace(',', '').split(' ')[2]
if (maxbleu is None) or (float(maxbleu) < float(nmax)):
maxbleu = nmax
fmax = fn
else:
pass
if retmax:
retval = fmax+' : '+maxbleu
else:
retval = fmax
return retval
if __name__ == "__main__":
#print(maxBleu(retmax = True))
print(maxBleu())