forked from tdwojak/Python2017
37 lines
1.2 KiB
Python
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())
|
|
|
|
|
|
|
|
|