From 0d6452441566353b60d720db662561d2f21ab081 Mon Sep 17 00:00:00 2001 From: s45158 Date: Fri, 22 Dec 2017 07:18:11 +0100 Subject: [PATCH] zad dom lab 3 task5 --- labs03/task05.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 labs03/task05.py diff --git a/labs03/task05.py b/labs03/task05.py new file mode 100644 index 0000000..07e3f98 --- /dev/null +++ b/labs03/task05.py @@ -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()) + + + + + +