1
0
forked from tdwojak/Python2018
Python2018/labs04/task05.py

21 lines
1.1 KiB
Python
Raw Normal View History

2018-06-02 21:48:54 +02:00
"""
**ć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 pandas as pd
import glob
path = r'/home/ghermann/code/python_td/labs04/scores' #change for your system
files = glob.glob(path + '/*.npz.bleu')
2018-06-02 21:58:32 +02:00
dfs = [pd.read_csv(fp, sep=" ", header=None).assign(filepath=fp) for fp in files]
df = pd.concat(dfs, ignore_index=True)
2018-06-02 21:48:54 +02:00
df[2] = df[2].map(lambda c: c.rstrip(','))
2018-06-02 21:58:32 +02:00
df[2] = pd.to_numeric(df[2], errors='coerce')
2018-06-02 21:48:54 +02:00
print(df.at[df[2].idxmax(), 'filepath'])