diff --git a/.idea/Python2017.iml b/.idea/Python2017.iml
index 6711606..c6fbae2 100644
--- a/.idea/Python2017.iml
+++ b/.idea/Python2017.iml
@@ -4,6 +4,7 @@
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 3d9b9be..dcb87c2 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,6 +3,7 @@
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..cd1a24e 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,7 @@
-
+
+
\ No newline at end of file
diff --git a/labs02/test_task.py b/labs02/test_task.py
deleted file mode 100755
index a36de7d..0000000
--- a/labs02/test_task.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-
-
-def suma(a, b):
- """
- Napisz funkcję, która zwraca sumę elementów.
- """
- return a+b
-
-def tests(f):
- inputs = [(2, 3), (0, 0), (1, 1)]
- outputs = [5, 0, 2]
-
- for input, output in zip(inputs, outputs):
- if f(*input) != output:
- return "ERROR: {}!={}".format(f(*input), output)
- break
- return "TESTS PASSED"
-
-print(tests(suma))
diff --git a/labs03/Podstawy 2.ipynb b/labs03/Podstawy 2.ipynb
new file mode 100644
index 0000000..53da94e
--- /dev/null
+++ b/labs03/Podstawy 2.ipynb
@@ -0,0 +1,470 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "# Python: podstaw ciąg dalszy\n",
+ "\n",
+ "## Tomasz Dwojak\n",
+ "\n",
+ "### 2 grudnia 2017"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Co już znamy?\n",
+ " * podstawowe typy danych i operacje na nich\n",
+ " * Instrukcje sterujące: ``if``, ``for``\n",
+ " * pisanie funkcji\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "source": [
+ "## Co na dziś?\n",
+ "\n",
+ " * ``tuple`` i ``set``,\n",
+ " * operacje na plikach,\n",
+ " * coś więcej o funkcjach\n",
+ " * korzystanie z bibliotek\n",
+ " * przegląd najważniejszych bibliotek"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "def dwojak(x): x *= 2\n",
+ " \n",
+ "l = [1, 2, 3]\n",
+ "s = \"123\"\n",
+ "\n",
+ "dwojak(l)\n",
+ "dwojak(s)\n",
+ "\n",
+ "print(l)\n",
+ "print(s)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Mutable i Immutable\n",
+ "\n",
+ "### Mutable\n",
+ " * listy,\n",
+ " * słowniki,\n",
+ " * sety,\n",
+ " * własnoręcznie zdefiniowane klasy.\n",
+ " \n",
+ "### Immutable\n",
+ " * liczby: inty i floaty,\n",
+ " * napisy,\n",
+ " * tuple."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Nieoczywistości"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "def dwojak1(x): x *= 2\n",
+ "def dwojak2(x): x = x * 2\n",
+ "\n",
+ "l = [1,2, 3]\n",
+ "dwojak1(l)\n",
+ "print(l)\n",
+ "\n",
+ "l = [1,2, 3]\n",
+ "dwojak2(l)\n",
+ "print(l)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "l = [1, 2, 3]\n",
+ "e = l\n",
+ "e.append(4)\n",
+ "print(l)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "e = []\n",
+ "f = [e for i in range(3)]\n",
+ "f[0].append(1)\n",
+ "print(f)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## To może ``tuple``?\n",
+ " * stały rozmiar,\n",
+ " * immutable,\n",
+ " * mogą być kluczami w słownikach"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "t = (1, \"napis\", None)\n",
+ "elem = t[0]\n",
+ "print(t)\n",
+ "print(len(t))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Funkcje cz. 2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "def suma(*args):\n",
+ " return sum(args)\n",
+ "print(suma(1,2,3,4,5))\n",
+ "\n",
+ "def greet_me(**kwargs):\n",
+ " if kwargs is not None:\n",
+ " for key, value in kwargs.items():\n",
+ " print(\"%s == %s\" %(key,value))\n",
+ "greet_me(a=1, b=(3,4))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Generatory"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "def alfaRange(x, y):\n",
+ " for i in range(ord(x), ord(y)):\n",
+ " yield chr(i)\n",
+ "\n",
+ "for c in alfaRange('a', 'e'):\n",
+ " print(c)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Operacje na plikach"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "plik = open(\"haslo.txt\", 'r')\n",
+ "for linia in plik.readlines():\n",
+ " print(linia.strip())\n",
+ "print(plik.read())\n",
+ "plik.close()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "with open(\"haslo.txt\", 'r') as plik:\n",
+ " for linia in plik.readlines():\n",
+ " print(linia)\n",
+ "# print(plik.read())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "with open(\"haslo2.txt\", 'w') as plik:\n",
+ " for word in ('corect', 'horse', 'battery', 'staple'):\n",
+ " plik.write(word)\n",
+ " plik.write('\\n')\n",
+ "with open(\"haslo2.txt\", 'w+') as plik:\n",
+ " plik.writelines([' '.join(('corect', 'horse', 'battery', 'staple'))])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "# Korzystanie z modułów"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Importowanie"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "print(os.name)\n",
+ "\n",
+ "from os import getenv\n",
+ "print('Nazwa uzytkownika: {}'.format(getenv(\"USER\")))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "from collections import *\n",
+ "print(Counter(\"konstantynopolitańczykowianeczka\"))\n",
+ "\n",
+ "import numpy as np\n",
+ "np.array([[1, 3, 4, 5]], dtype='float32')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": true,
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Instalacja\n",
+ "\n",
+ " * lokalnie (per użytkownik) lub globalnie\n",
+ " * pyCharm lub linia komend, np. ``pip install --user flask`` lub ``python -m pip install --user flask``"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Wczytywanie z klawiatury"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "fragment"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "name = input(\"What's your name?\\n\")\n",
+ "print(\"Welcome home, {}.\".format(name))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "outputs": [],
+ "source": [
+ "liczby = eval(input(\"Podaj liczby\"))\n",
+ "print(sum(liczby))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "slideshow": {
+ "slide_type": "slide"
+ }
+ },
+ "source": [
+ "## Co ominąłem?\n",
+ "\n",
+ " * klasy (jutro)\n",
+ " * podział programu na pliki (jutro)\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "celltoolbar": "Slideshow",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/labs03/README.md b/labs03/README.md
new file mode 100644
index 0000000..89a8cff
--- /dev/null
+++ b/labs03/README.md
@@ -0,0 +1,42 @@
+# Laboratoria 3
+
+## Zadania
+
+**ćwiczenie 0**
+Sklonuj repozytorium ``https://github.com/realpython/python-scripts``, które różne, przydatne skrypty. Przejrzyj je i
+zobacz na ile jesteś w stanie zrozumieć co i jak robią. Uruchom kilka z nich, np. ``27_send_sms.py``.
+
+**ćwiczenie 1**
+Każdy obiekt w Pythonie na wbudowaną funkcję ``id()``, która zwraca liczbę, która jest unikatowa i stała dla obiektu.
+Pozwala ona w prosty sposób sprawdzić, który obiekt jest *mutable*a, który *immutable*: jeżeli po wykonaniu operacji,
+zwracana liczba jest stała, to oznacza, że obiekt jest *mutable*. Sprawdź zachowanie funkcji na obiektach typy:
+ * lista,
+ * napis (string),
+ * liczba zmiennoprzecinkowa.
+
+**ćwiczenie 2**
+Napisz generator, który będzie zwracać ``n`` kolejnych liczb ciągu Fibonacciego (``F(0)=1, F(1)=1, FN=F(N-1) + F(N-2)``).
+
+**ćwiczenie 3**
+Strona ``https://api.fixer.io/latest`` udostępnia kursy różnych walut w stosunku do euro. Napisz skrypt, który:
+ * pobierze zawartość JSONa. Wykorzystaj bibliotekę ``requests`` (http://docs.python-requests.org/en/master/).
+ * korzystając z biblioteki ``json`` przekształć go do obiketu typu JSON.
+ * Wyświetl wartość kursu EUR do PLN.
+
+**ćwiczenie 4**
+Zainstaluj bibliotekę ``weather-api`` (https://pypi.python.org/pypi/weather-api). Korzystając z niej:
+ * Wypisz informacje o aktualnej pogodzie.
+ * Napisz funkcję, która zamieni stopnie ``F`` na ``C``.
+ * Korzystając z prognozy, znajdź dzień, w którym będzie najzimniej. Wypisz nazwę tygodnia (w języku polskim) i temperaturę w C.
+
+**ć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ą).
+
+
+
+
diff --git a/labs03/cw1.py b/labs03/cw1.py
new file mode 100644
index 0000000..e69de29
diff --git a/labs03/python-scripts b/labs03/python-scripts
new file mode 160000
index 0000000..38093b2
--- /dev/null
+++ b/labs03/python-scripts
@@ -0,0 +1 @@
+Subproject commit 38093b25db7c1100877b9ae22ddb489c8124b4c3
diff --git a/labs03/scores/model.iter10000.npz.bleu b/labs03/scores/model.iter10000.npz.bleu
new file mode 100644
index 0000000..8eba4ec
--- /dev/null
+++ b/labs03/scores/model.iter10000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 2.02, 17.1/3.6/1.0/0.3 (BP=1.000, ratio=1.872, hyp_len=80326, ref_len=42903)
diff --git a/labs03/scores/model.iter100000.npz.bleu b/labs03/scores/model.iter100000.npz.bleu
new file mode 100644
index 0000000..c8c380c
--- /dev/null
+++ b/labs03/scores/model.iter100000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 13.99, 44.4/18.5/9.3/5.0 (BP=1.000, ratio=1.072, hyp_len=45976, ref_len=42903)
diff --git a/labs03/scores/model.iter110000.npz.bleu b/labs03/scores/model.iter110000.npz.bleu
new file mode 100644
index 0000000..dcbf8a8
--- /dev/null
+++ b/labs03/scores/model.iter110000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 14.35, 44.9/19.0/9.6/5.2 (BP=1.000, ratio=1.087, hyp_len=46657, ref_len=42903)
diff --git a/labs03/scores/model.iter120000.npz.bleu b/labs03/scores/model.iter120000.npz.bleu
new file mode 100644
index 0000000..c7607bb
--- /dev/null
+++ b/labs03/scores/model.iter120000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.75, 47.1/20.5/10.7/6.0 (BP=1.000, ratio=1.030, hyp_len=44211, ref_len=42903)
diff --git a/labs03/scores/model.iter130000.npz.bleu b/labs03/scores/model.iter130000.npz.bleu
new file mode 100644
index 0000000..6ef614e
--- /dev/null
+++ b/labs03/scores/model.iter130000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.96, 47.7/20.8/10.9/6.0 (BP=1.000, ratio=1.029, hyp_len=44160, ref_len=42903)
diff --git a/labs03/scores/model.iter140000.npz.bleu b/labs03/scores/model.iter140000.npz.bleu
new file mode 100644
index 0000000..55075dd
--- /dev/null
+++ b/labs03/scores/model.iter140000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.42, 46.8/20.3/10.5/5.7 (BP=1.000, ratio=1.043, hyp_len=44729, ref_len=42903)
diff --git a/labs03/scores/model.iter150000.npz.bleu b/labs03/scores/model.iter150000.npz.bleu
new file mode 100644
index 0000000..f48a590
--- /dev/null
+++ b/labs03/scores/model.iter150000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.84, 47.3/20.7/10.8/5.9 (BP=1.000, ratio=1.034, hyp_len=44374, ref_len=42903)
diff --git a/labs03/scores/model.iter160000.npz.bleu b/labs03/scores/model.iter160000.npz.bleu
new file mode 100644
index 0000000..74cf4bd
--- /dev/null
+++ b/labs03/scores/model.iter160000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.99, 47.7/20.8/10.9/6.0 (BP=1.000, ratio=1.031, hyp_len=44233, ref_len=42903)
diff --git a/labs03/scores/model.iter170000.npz.bleu b/labs03/scores/model.iter170000.npz.bleu
new file mode 100644
index 0000000..4aa9072
--- /dev/null
+++ b/labs03/scores/model.iter170000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.15, 47.9/21.0/11.0/6.1 (BP=1.000, ratio=1.027, hyp_len=44065, ref_len=42903)
diff --git a/labs03/scores/model.iter180000.npz.bleu b/labs03/scores/model.iter180000.npz.bleu
new file mode 100644
index 0000000..b4c3dfc
--- /dev/null
+++ b/labs03/scores/model.iter180000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 15.86, 47.1/20.8/10.8/6.0 (BP=1.000, ratio=1.053, hyp_len=45191, ref_len=42903)
diff --git a/labs03/scores/model.iter190000.npz.bleu b/labs03/scores/model.iter190000.npz.bleu
new file mode 100644
index 0000000..d4472dc
--- /dev/null
+++ b/labs03/scores/model.iter190000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.07, 47.7/21.0/11.0/6.0 (BP=1.000, ratio=1.044, hyp_len=44795, ref_len=42903)
diff --git a/labs03/scores/model.iter20000.npz.bleu b/labs03/scores/model.iter20000.npz.bleu
new file mode 100644
index 0000000..4bf5ed1
--- /dev/null
+++ b/labs03/scores/model.iter20000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 5.87, 31.1/8.9/3.3/1.3 (BP=1.000, ratio=1.155, hyp_len=49533, ref_len=42903)
diff --git a/labs03/scores/model.iter200000.npz.bleu b/labs03/scores/model.iter200000.npz.bleu
new file mode 100644
index 0000000..b88ce22
--- /dev/null
+++ b/labs03/scores/model.iter200000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.82, 48.9/21.7/11.5/6.6 (BP=0.998, ratio=0.998, hyp_len=42837, ref_len=42903)
diff --git a/labs03/scores/model.iter210000.npz.bleu b/labs03/scores/model.iter210000.npz.bleu
new file mode 100644
index 0000000..6c71702
--- /dev/null
+++ b/labs03/scores/model.iter210000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.70, 48.7/21.7/11.5/6.4 (BP=1.000, ratio=1.017, hyp_len=43622, ref_len=42903)
diff --git a/labs03/scores/model.iter220000.npz.bleu b/labs03/scores/model.iter220000.npz.bleu
new file mode 100644
index 0000000..e37a581
--- /dev/null
+++ b/labs03/scores/model.iter220000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.85, 48.9/21.9/11.7/6.5 (BP=1.000, ratio=1.020, hyp_len=43777, ref_len=42903)
diff --git a/labs03/scores/model.iter230000.npz.bleu b/labs03/scores/model.iter230000.npz.bleu
new file mode 100644
index 0000000..4a74673
--- /dev/null
+++ b/labs03/scores/model.iter230000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.59, 48.3/21.6/11.4/6.3 (BP=1.000, ratio=1.029, hyp_len=44127, ref_len=42903)
diff --git a/labs03/scores/model.iter240000.npz.bleu b/labs03/scores/model.iter240000.npz.bleu
new file mode 100644
index 0000000..7c60d8e
--- /dev/null
+++ b/labs03/scores/model.iter240000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.94, 48.6/22.0/11.7/6.6 (BP=1.000, ratio=1.038, hyp_len=44517, ref_len=42903)
diff --git a/labs03/scores/model.iter250000.npz.bleu b/labs03/scores/model.iter250000.npz.bleu
new file mode 100644
index 0000000..5e047b6
--- /dev/null
+++ b/labs03/scores/model.iter250000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.52, 49.7/22.5/12.2/6.9 (BP=1.000, ratio=1.003, hyp_len=43053, ref_len=42903)
diff --git a/labs03/scores/model.iter260000.npz.bleu b/labs03/scores/model.iter260000.npz.bleu
new file mode 100644
index 0000000..d5d6814
--- /dev/null
+++ b/labs03/scores/model.iter260000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.82, 48.6/21.9/11.6/6.5 (BP=1.000, ratio=1.037, hyp_len=44475, ref_len=42903)
diff --git a/labs03/scores/model.iter270000.npz.bleu b/labs03/scores/model.iter270000.npz.bleu
new file mode 100644
index 0000000..e6ed040
--- /dev/null
+++ b/labs03/scores/model.iter270000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.16, 49.2/22.3/11.9/6.6 (BP=1.000, ratio=1.025, hyp_len=43965, ref_len=42903)
diff --git a/labs03/scores/model.iter280000.npz.bleu b/labs03/scores/model.iter280000.npz.bleu
new file mode 100644
index 0000000..9a5b8fc
--- /dev/null
+++ b/labs03/scores/model.iter280000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.92, 49.4/22.1/11.7/6.4 (BP=1.000, ratio=1.013, hyp_len=43453, ref_len=42903)
diff --git a/labs03/scores/model.iter290000.npz.bleu b/labs03/scores/model.iter290000.npz.bleu
new file mode 100644
index 0000000..ea460d2
--- /dev/null
+++ b/labs03/scores/model.iter290000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.20, 49.2/22.1/11.9/6.8 (BP=1.000, ratio=1.016, hyp_len=43578, ref_len=42903)
diff --git a/labs03/scores/model.iter30000.npz.bleu b/labs03/scores/model.iter30000.npz.bleu
new file mode 100644
index 0000000..beca2c8
--- /dev/null
+++ b/labs03/scores/model.iter30000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 8.17, 33.9/11.6/5.0/2.3 (BP=1.000, ratio=1.207, hyp_len=51768, ref_len=42903)
diff --git a/labs03/scores/model.iter300000.npz.bleu b/labs03/scores/model.iter300000.npz.bleu
new file mode 100644
index 0000000..22adb3d
--- /dev/null
+++ b/labs03/scores/model.iter300000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.31, 49.2/22.2/12.0/6.8 (BP=1.000, ratio=1.017, hyp_len=43642, ref_len=42903)
diff --git a/labs03/scores/model.iter310000.npz.bleu b/labs03/scores/model.iter310000.npz.bleu
new file mode 100644
index 0000000..e540729
--- /dev/null
+++ b/labs03/scores/model.iter310000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.57, 49.5/22.5/12.3/7.0 (BP=1.000, ratio=1.000, hyp_len=42900, ref_len=42903)
diff --git a/labs03/scores/model.iter320000.npz.bleu b/labs03/scores/model.iter320000.npz.bleu
new file mode 100644
index 0000000..fa27e8b
--- /dev/null
+++ b/labs03/scores/model.iter320000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.68, 49.6/22.6/12.3/7.1 (BP=1.000, ratio=1.013, hyp_len=43465, ref_len=42903)
diff --git a/labs03/scores/model.iter330000.npz.bleu b/labs03/scores/model.iter330000.npz.bleu
new file mode 100644
index 0000000..9647a15
--- /dev/null
+++ b/labs03/scores/model.iter330000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.02, 48.3/21.9/11.8/6.7 (BP=1.000, ratio=1.044, hyp_len=44801, ref_len=42903)
diff --git a/labs03/scores/model.iter340000.npz.bleu b/labs03/scores/model.iter340000.npz.bleu
new file mode 100644
index 0000000..784fe91
--- /dev/null
+++ b/labs03/scores/model.iter340000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.51, 49.7/22.7/12.2/6.9 (BP=1.000, ratio=1.011, hyp_len=43368, ref_len=42903)
diff --git a/labs03/scores/model.iter350000.npz.bleu b/labs03/scores/model.iter350000.npz.bleu
new file mode 100644
index 0000000..553eb3f
--- /dev/null
+++ b/labs03/scores/model.iter350000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.68, 50.3/22.9/12.4/7.0 (BP=0.995, ratio=0.995, hyp_len=42702, ref_len=42903)
diff --git a/labs03/scores/model.iter360000.npz.bleu b/labs03/scores/model.iter360000.npz.bleu
new file mode 100644
index 0000000..5318e68
--- /dev/null
+++ b/labs03/scores/model.iter360000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.43, 49.0/22.4/12.2/6.9 (BP=1.000, ratio=1.040, hyp_len=44629, ref_len=42903)
diff --git a/labs03/scores/model.iter370000.npz.bleu b/labs03/scores/model.iter370000.npz.bleu
new file mode 100644
index 0000000..7cebde9
--- /dev/null
+++ b/labs03/scores/model.iter370000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.16, 49.2/22.2/11.9/6.7 (BP=1.000, ratio=1.028, hyp_len=44085, ref_len=42903)
diff --git a/labs03/scores/model.iter380000.npz.bleu b/labs03/scores/model.iter380000.npz.bleu
new file mode 100644
index 0000000..59e8c47
--- /dev/null
+++ b/labs03/scores/model.iter380000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.04, 49.1/22.2/11.8/6.6 (BP=1.000, ratio=1.030, hyp_len=44200, ref_len=42903)
diff --git a/labs03/scores/model.iter390000.npz.bleu b/labs03/scores/model.iter390000.npz.bleu
new file mode 100644
index 0000000..b98b614
--- /dev/null
+++ b/labs03/scores/model.iter390000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.77, 49.8/22.8/12.4/7.1 (BP=1.000, ratio=1.008, hyp_len=43258, ref_len=42903)
diff --git a/labs03/scores/model.iter40000.npz.bleu b/labs03/scores/model.iter40000.npz.bleu
new file mode 100644
index 0000000..f6a3781
--- /dev/null
+++ b/labs03/scores/model.iter40000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 8.55, 32.5/11.9/5.3/2.6 (BP=1.000, ratio=1.341, hyp_len=57542, ref_len=42903)
diff --git a/labs03/scores/model.iter400000.npz.bleu b/labs03/scores/model.iter400000.npz.bleu
new file mode 100644
index 0000000..a1b2236
--- /dev/null
+++ b/labs03/scores/model.iter400000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.96, 50.0/23.0/12.6/7.2 (BP=1.000, ratio=1.002, hyp_len=43009, ref_len=42903)
diff --git a/labs03/scores/model.iter410000.npz.bleu b/labs03/scores/model.iter410000.npz.bleu
new file mode 100644
index 0000000..1f72abd
--- /dev/null
+++ b/labs03/scores/model.iter410000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.66, 49.6/22.6/12.3/7.0 (BP=1.000, ratio=1.019, hyp_len=43697, ref_len=42903)
diff --git a/labs03/scores/model.iter420000.npz.bleu b/labs03/scores/model.iter420000.npz.bleu
new file mode 100644
index 0000000..05c904e
--- /dev/null
+++ b/labs03/scores/model.iter420000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.93, 49.8/23.1/12.6/7.2 (BP=1.000, ratio=1.021, hyp_len=43824, ref_len=42903)
diff --git a/labs03/scores/model.iter430000.npz.bleu b/labs03/scores/model.iter430000.npz.bleu
new file mode 100644
index 0000000..9d0ddc0
--- /dev/null
+++ b/labs03/scores/model.iter430000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 16.55, 47.0/21.3/11.5/6.5 (BP=1.000, ratio=1.071, hyp_len=45947, ref_len=42903)
diff --git a/labs03/scores/model.iter440000.npz.bleu b/labs03/scores/model.iter440000.npz.bleu
new file mode 100644
index 0000000..fc24017
--- /dev/null
+++ b/labs03/scores/model.iter440000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.59, 49.8/22.7/12.2/6.9 (BP=1.000, ratio=1.009, hyp_len=43301, ref_len=42903)
diff --git a/labs03/scores/model.iter450000.npz.bleu b/labs03/scores/model.iter450000.npz.bleu
new file mode 100644
index 0000000..6f284b8
--- /dev/null
+++ b/labs03/scores/model.iter450000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.41, 49.2/22.5/12.1/6.9 (BP=1.000, ratio=1.023, hyp_len=43894, ref_len=42903)
diff --git a/labs03/scores/model.iter460000.npz.bleu b/labs03/scores/model.iter460000.npz.bleu
new file mode 100644
index 0000000..71fb5a1
--- /dev/null
+++ b/labs03/scores/model.iter460000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.52, 49.9/22.7/12.2/6.8 (BP=1.000, ratio=1.005, hyp_len=43127, ref_len=42903)
diff --git a/labs03/scores/model.iter470000.npz.bleu b/labs03/scores/model.iter470000.npz.bleu
new file mode 100644
index 0000000..c70f06f
--- /dev/null
+++ b/labs03/scores/model.iter470000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.30, 49.1/22.3/12.0/6.8 (BP=1.000, ratio=1.024, hyp_len=43917, ref_len=42903)
diff --git a/labs03/scores/model.iter480000.npz.bleu b/labs03/scores/model.iter480000.npz.bleu
new file mode 100644
index 0000000..d5d65f7
--- /dev/null
+++ b/labs03/scores/model.iter480000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.21, 48.8/22.1/12.0/6.8 (BP=1.000, ratio=1.036, hyp_len=44454, ref_len=42903)
diff --git a/labs03/scores/model.iter490000.npz.bleu b/labs03/scores/model.iter490000.npz.bleu
new file mode 100644
index 0000000..aed4444
--- /dev/null
+++ b/labs03/scores/model.iter490000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.79, 50.0/22.9/12.4/7.1 (BP=1.000, ratio=1.000, hyp_len=42891, ref_len=42903)
diff --git a/labs03/scores/model.iter50000.npz.bleu b/labs03/scores/model.iter50000.npz.bleu
new file mode 100644
index 0000000..5455567
--- /dev/null
+++ b/labs03/scores/model.iter50000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 11.03, 39.5/15.1/7.1/3.5 (BP=1.000, ratio=1.116, hyp_len=47860, ref_len=42903)
diff --git a/labs03/scores/model.iter500000.npz.bleu b/labs03/scores/model.iter500000.npz.bleu
new file mode 100644
index 0000000..7744912
--- /dev/null
+++ b/labs03/scores/model.iter500000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.25, 49.4/22.3/12.0/6.7 (BP=1.000, ratio=1.014, hyp_len=43517, ref_len=42903)
diff --git a/labs03/scores/model.iter510000.npz.bleu b/labs03/scores/model.iter510000.npz.bleu
new file mode 100644
index 0000000..7a94c57
--- /dev/null
+++ b/labs03/scores/model.iter510000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.78, 50.0/22.8/12.4/7.1 (BP=1.000, ratio=1.000, hyp_len=42890, ref_len=42903)
diff --git a/labs03/scores/model.iter520000.npz.bleu b/labs03/scores/model.iter520000.npz.bleu
new file mode 100644
index 0000000..4f622dd
--- /dev/null
+++ b/labs03/scores/model.iter520000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.68, 49.8/22.7/12.4/7.0 (BP=1.000, ratio=1.003, hyp_len=43021, ref_len=42903)
diff --git a/labs03/scores/model.iter530000.npz.bleu b/labs03/scores/model.iter530000.npz.bleu
new file mode 100644
index 0000000..d538c9b
--- /dev/null
+++ b/labs03/scores/model.iter530000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.31, 48.9/22.3/12.1/6.8 (BP=1.000, ratio=1.032, hyp_len=44262, ref_len=42903)
diff --git a/labs03/scores/model.iter540000.npz.bleu b/labs03/scores/model.iter540000.npz.bleu
new file mode 100644
index 0000000..48cdef1
--- /dev/null
+++ b/labs03/scores/model.iter540000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.92, 49.8/22.9/12.5/7.2 (BP=1.000, ratio=1.015, hyp_len=43562, ref_len=42903)
diff --git a/labs03/scores/model.iter550000.npz.bleu b/labs03/scores/model.iter550000.npz.bleu
new file mode 100644
index 0000000..8dc8838
--- /dev/null
+++ b/labs03/scores/model.iter550000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.84, 50.0/22.9/12.5/7.1 (BP=1.000, ratio=1.011, hyp_len=43389, ref_len=42903)
diff --git a/labs03/scores/model.iter560000.npz.bleu b/labs03/scores/model.iter560000.npz.bleu
new file mode 100644
index 0000000..85e0ef3
--- /dev/null
+++ b/labs03/scores/model.iter560000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.75, 49.8/22.8/12.4/7.1 (BP=1.000, ratio=1.014, hyp_len=43494, ref_len=42903)
diff --git a/labs03/scores/model.iter570000.npz.bleu b/labs03/scores/model.iter570000.npz.bleu
new file mode 100644
index 0000000..0849629
--- /dev/null
+++ b/labs03/scores/model.iter570000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.94, 50.0/23.1/12.6/7.1 (BP=1.000, ratio=1.013, hyp_len=43442, ref_len=42903)
diff --git a/labs03/scores/model.iter580000.npz.bleu b/labs03/scores/model.iter580000.npz.bleu
new file mode 100644
index 0000000..b0d5a26
--- /dev/null
+++ b/labs03/scores/model.iter580000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 18.12, 50.3/23.1/12.7/7.3 (BP=1.000, ratio=1.004, hyp_len=43077, ref_len=42903)
diff --git a/labs03/scores/model.iter590000.npz.bleu b/labs03/scores/model.iter590000.npz.bleu
new file mode 100644
index 0000000..afcf0ba
--- /dev/null
+++ b/labs03/scores/model.iter590000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.29, 48.8/22.3/12.1/6.8 (BP=1.000, ratio=1.042, hyp_len=44688, ref_len=42903)
diff --git a/labs03/scores/model.iter60000.npz.bleu b/labs03/scores/model.iter60000.npz.bleu
new file mode 100644
index 0000000..1956b32
--- /dev/null
+++ b/labs03/scores/model.iter60000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 11.92, 40.2/16.1/7.8/4.0 (BP=1.000, ratio=1.144, hyp_len=49071, ref_len=42903)
diff --git a/labs03/scores/model.iter600000.npz.bleu b/labs03/scores/model.iter600000.npz.bleu
new file mode 100644
index 0000000..a680910
--- /dev/null
+++ b/labs03/scores/model.iter600000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.46, 49.5/22.5/12.2/6.8 (BP=1.000, ratio=1.026, hyp_len=44035, ref_len=42903)
diff --git a/labs03/scores/model.iter610000.npz.bleu b/labs03/scores/model.iter610000.npz.bleu
new file mode 100644
index 0000000..6e55d7b
--- /dev/null
+++ b/labs03/scores/model.iter610000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 18.19, 50.3/23.2/12.7/7.4 (BP=1.000, ratio=1.007, hyp_len=43221, ref_len=42903)
diff --git a/labs03/scores/model.iter620000.npz.bleu b/labs03/scores/model.iter620000.npz.bleu
new file mode 100644
index 0000000..af92c95
--- /dev/null
+++ b/labs03/scores/model.iter620000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 17.84, 50.1/22.9/12.5/7.1 (BP=1.000, ratio=1.016, hyp_len=43604, ref_len=42903)
diff --git a/labs03/scores/model.iter630000.npz.bleu b/labs03/scores/model.iter630000.npz.bleu
new file mode 100644
index 0000000..26ef4b9
--- /dev/null
+++ b/labs03/scores/model.iter630000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 18.30, 50.8/23.4/12.9/7.5 (BP=0.994, ratio=0.994, hyp_len=42632, ref_len=42903)
diff --git a/labs03/scores/model.iter640000.npz.bleu b/labs03/scores/model.iter640000.npz.bleu
new file mode 100644
index 0000000..c1b857c
--- /dev/null
+++ b/labs03/scores/model.iter640000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 0, 0/0/0/0 (BP=0, ratio=0, hyp_len=0, ref_len=0)
diff --git a/labs03/scores/model.iter70000.npz.bleu b/labs03/scores/model.iter70000.npz.bleu
new file mode 100644
index 0000000..a4232f5
--- /dev/null
+++ b/labs03/scores/model.iter70000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 12.77, 42.4/17.1/8.4/4.4 (BP=1.000, ratio=1.096, hyp_len=47008, ref_len=42903)
diff --git a/labs03/scores/model.iter80000.npz.bleu b/labs03/scores/model.iter80000.npz.bleu
new file mode 100644
index 0000000..ed8edfa
--- /dev/null
+++ b/labs03/scores/model.iter80000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 14.43, 46.7/19.4/9.7/5.2 (BP=0.988, ratio=0.988, hyp_len=42376, ref_len=42903)
diff --git a/labs03/scores/model.iter90000.npz.bleu b/labs03/scores/model.iter90000.npz.bleu
new file mode 100644
index 0000000..cd456bf
--- /dev/null
+++ b/labs03/scores/model.iter90000.npz.bleu
@@ -0,0 +1 @@
+BLEU = 13.85, 44.1/18.5/9.2/4.9 (BP=1.000, ratio=1.092, hyp_len=46859, ref_len=42903)