https://git.wmi.amu.edu.pl/tdwojak/Python2017/src/master/labs03 #1

Open
s45158 wants to merge 17 commits from s45158/Python2017:master into master
Showing only changes of commit 0d64524415 - Show all commits

38
labs03/task05.py Normal file
View File

@ -0,0 +1,38 @@
"""
ć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())