Merge branch 'lab1'

This commit is contained in:
Paweł Skórzewski 2024-02-28 11:33:46 +01:00
commit f78cf2684b
2 changed files with 123 additions and 89 deletions

View File

@ -28,7 +28,7 @@
"\n",
"prowadzący: dr Paweł Skórzewski\n",
"\n",
"Najlepiej kontaktowąć się ze mną przez MS Teams lub mailowo.\n",
"Najlepiej kontaktowąć się ze mną przez MS Teams lub mailowo (pawel.skorzewski@amu.edu.pl).\n",
"\n",
"\n",
"## Literatura\n",
@ -44,27 +44,44 @@
"- https://www.youtube.com/watch?v=-9evrZnBorM&ab_channel=YannicKilcher\n",
"- https://www.youtube.com/watch?v=u1_qMdb0kYU&ab_channel=YannicKilcher\n",
"\n",
"## Podział materiału\n",
"\n",
"Materiał — zarówno na wykładzie, jak i na laboratoriach — podzielony jest\n",
"na trzy, mniej więcej równe objętością, działy:\n",
"\n",
"## Zaliczenie\n",
"1. Podstawy modelowania języka.\n",
"2. Neuronowe modele języka (bez sieci Transformer).\n",
"3. Sieci Transformer.\n",
"\n",
"## Zasady zaliczenia laboratoriów\n",
"\n",
"Zaliczenia z laboratoriów uzyskujemy przez zdobywanie punktów za zadania i\n",
"projekty. Zasadniczo punkty zdobywamy poprzez wykonywanie zadań na\n",
"bieżąco na ćwiczeniach lub najpóźniej do kolejnych zajęć. Dodatkowo\n",
"będzie też możliwość zdobywania punktów poprzez wykonywanie projektów.\n",
"\n",
"Do zdobycia będzie conajmniej 600 punktów.\n",
"Na ogół na każdych ćwiczeniach jest do zdobycia 40 punktów, z czego\n",
"zazwyczaj 20 punktów będzie do zdobycia za wykonanie części zadania od\n",
"razu w trakcie zajęć.\n",
"\n",
"Ocena:\n",
"Przelicznik punktów na ocenę:\n",
"\n",
"- -299 — 2\n",
"* -299 — 2\n",
"* 300-349 — 3\n",
"* 350-399 — 3+\n",
"* 400-449 — 4\n",
"* 450-499 — 4+\n",
"* 500- — 5\n",
"\n",
"- 300-349 — 3\n",
"⚠️ Dodatkowo przyjmuje się następujące ograniczenie: za każdy dział można zdobyć **nie więcej niż 200 punktów**.\n",
"\n",
"- 350-399 — 3+\n",
"Technicznie rozwiązania zadań zgłaszamy na platformie Moodle lub na platformie Gonito (w zależności od zadania).\n",
"\n",
"- 400-449 — 4\n",
"Łącznie do zdobycia będzie co najmniej 600 punktów.\n",
"\n",
"- 450—499 — 4+\n",
"## Obecność na zajęciach\n",
"\n",
"- 500- — 5\n",
"Obecność na zajęciach jest **obowiązkowa**. Nieobecność może być usprawiedliwiona w przypadku choroby potwierdzonej zwolnieniem lekarskim. Dopuszczalne są maksymalnie 3 nieusprawiedliwione nieobecności.\n",
"\n"
]
},

View File

@ -6,7 +6,7 @@
"source": [
"![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
"<div class=\"alert alert-block alert-info\">\n",
"<h2> 1. <i>Kodowanie tekstu</i> [ćwiczenia]</h2> \n",
"<h2> 1. <i>Kodowanie tekstu</i> [laboratoria]</h2> \n",
"</div>\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)\n",
@ -85,7 +85,7 @@
{
"data": {
"text/plain": [
"''"
"'0x2a03'"
]
},
"execution_count": 4,
@ -94,7 +94,7 @@
}
],
"source": [
"chr(10755)"
"hex(ord(c))"
]
},
{
@ -105,7 +105,7 @@
{
"data": {
"text/plain": [
"0"
"'⨃'"
]
},
"execution_count": 5,
@ -114,15 +114,7 @@
}
],
"source": [
"10755 - 2* 16**3 - 10* 16**2 - 0 * 16**1 - 3* 16**0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$10755_{10} = 2* 16^3 + 10* 16^2 + 0 * 16^1 + 3* 16^0 =$ U+2A03 \n",
"\n"
"chr(10755)"
]
},
{
@ -141,6 +133,34 @@
"output_type": "execute_result"
}
],
"source": [
"10755 - 2* 16**3 - 10* 16**2 - 0 * 16**1 - 3* 16**0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$10755_{10} = 2* 16^3 + 10* 16^2 + 0 * 16^1 + 3* 16^0 =$ U+2A03 \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"10755 - 1*2**13 - 0*2**12 - 1*2**11 - 0*2**10 - 1*2**9 -0*2**8 -0*2**7-0*2**6-0*2**5-0*2**4-0*2**3-0*2**2-0*2**1 - 1*2**1 - 1*2**0"
]
@ -154,7 +174,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 8,
"metadata": {},
"outputs": [
{
@ -163,7 +183,7 @@
"14"
]
},
"execution_count": 7,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
@ -174,7 +194,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 9,
"metadata": {},
"outputs": [
{
@ -183,7 +203,7 @@
"'0010101000000011'"
]
},
"execution_count": 8,
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
@ -208,7 +228,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 10,
"metadata": {},
"outputs": [
{
@ -217,7 +237,7 @@
"'11100010 10101000 10000011'"
]
},
"execution_count": 9,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
@ -228,30 +248,13 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"!echo '⨃' > '01_materialy/znak.txt'"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"⨃\r\n"
]
}
],
"source": [
"cat '01_materialy/znak.txt'"
]
},
{
"cell_type": "code",
"execution_count": 12,
@ -261,7 +264,24 @@
"name": "stdout",
"output_type": "stream",
"text": [
"00000000: 11100010 10101000 10000011 00001010 ....\r\n"
"⨃\n"
]
}
],
"source": [
"cat '01_materialy/znak.txt'"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"00000000: 11100010 10101000 10000011 00001010 ....\n"
]
}
],
@ -271,7 +291,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 14,
"metadata": {},
"outputs": [
{
@ -280,7 +300,7 @@
"'\\x0c'"
]
},
"execution_count": 13,
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
@ -300,7 +320,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 15,
"metadata": {},
"outputs": [
{
@ -309,7 +329,7 @@
"'U'"
]
},
"execution_count": 14,
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
@ -320,7 +340,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 16,
"metadata": {},
"outputs": [
{
@ -329,7 +349,7 @@
"'ϙ'"
]
},
"execution_count": 15,
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
@ -340,7 +360,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 17,
"metadata": {},
"outputs": [
{
@ -349,7 +369,7 @@
"'\\U00012856'"
]
},
"execution_count": 16,
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
@ -381,7 +401,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
@ -402,18 +422,18 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"00000000: 01111010 01100001 11000101 10111100 11000011 10110011 za....\r\n",
"00000006: 11000101 10000010 11000100 10000111 00100000 01100111 .... g\r\n",
"0000000c: 11000100 10011001 11000101 10011011 01101100 11000100 ....l.\r\n",
"00000012: 10000101 00100000 01101010 01100001 11000101 10111010 . ja..\r\n",
"00000018: 11000101 10000100 00001010 ...\r\n"
"00000000: 01111010 01100001 11000101 10111100 11000011 10110011 za....\n",
"00000006: 11000101 10000010 11000100 10000111 00100000 01100111 .... g\n",
"0000000c: 11000100 10011001 11000101 10011011 01101100 11000100 ....l.\n",
"00000012: 10000101 00100000 01101010 01100001 11000101 10111010 . ja..\n",
"00000018: 11000101 10000100 00001010 ...\n"
]
}
],
@ -432,7 +452,7 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
@ -441,7 +461,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
@ -450,7 +470,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
@ -459,10 +479,8 @@
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"scrolled": false
},
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
@ -470,7 +488,7 @@
"'00101100 00001010 01001010 01100001 01101011 00100000 01100010 01111001 11000101 10000010 00100000 01010011 01110100 01100101 01100110 01100101 01101011 00100000 01000010 01110101 01110010 01100011 01111010 01111001 01101101 01110101 01100011 01101000 01100001 11100010 10000000 10100110 00001010 11100010 10000000 10010100 00100000 01001010 01100001 00100000 01101110 01101001 01101011 01101111 01100111 01101111 00100000 01110011 01101001 11000100 10011001 00100000 01101110 01101001 01100101 00100000 01100010 01101111 01101010 11000100 10011001 00100001 00001010 01000011 01101000 01101111 11000100 10000111 01100010 01111001 00100000 01101110 01101001 01100101 01100100 11000101 10111010 01110111 01101001 01100101 01100100 11000101 10111010 11100010 10000000 10100110 00100000 01110100'"
]
},
"execution_count": 22,
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
@ -504,7 +522,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
@ -513,7 +531,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
@ -522,7 +540,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
@ -531,7 +549,7 @@
},
{
"cell_type": "code",
"execution_count": 26,
"execution_count": 27,
"metadata": {
"scrolled": true
},
@ -542,7 +560,7 @@
"'0x2e 0x20 0x31 0x36 0x37 0x30 0x2c 0x20 0x70 0x72 0x7a 0x65 0x64 0x20 0x75 0x70 0x61 0x64 0x6b 0x69 0x65 0x6d 0x20 0x4b 0x61 0x6d 0x69 0x65 0xc5 0x84 0x63 0x61 0x20 0x69 0x20 0x68 0x61 0x6e 0x69 0x65 0x62 0x6e 0x79 0x6d 0x69 0x20 0x75 0x6b 0xc5 0x82 0x61 0x64 0x61 0x6d 0x69 0x20 0x62 0x75 0x63 0x7a 0x61 0x63 0x6b 0x69 0x6d 0x69 0x2c 0x20 0x6b 0x74 0xc3 0xb3 0x72 0x65 0x20 0x6f 0x62 0x6f 0x77 0x69 0xc4 0x85 0x7a 0x79 0x77 0x61 0xc5 0x82'"
]
},
"execution_count": 26,
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
@ -636,7 +654,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
@ -652,7 +670,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 29,
"metadata": {},
"outputs": [
{
@ -661,7 +679,7 @@
"['A', 'a', 'b', 'ce', 'cef', 'Ą', 'ą', 'ż']"
]
},
"execution_count": 28,
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
@ -679,7 +697,7 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 30,
"metadata": {},
"outputs": [
{
@ -688,7 +706,7 @@
"['A', 'Ą', 'a', 'ą', 'b', 'ce', 'cef', 'ż']"
]
},
"execution_count": 29,
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
@ -724,12 +742,11 @@
"source": [
"## WYKONANIE ZADAŃ\n",
"\n",
"- skopiuj niniejszy notebook\n",
"- podmień wartość zmiennej NR_INDEKSU na własny numer indeksu\n",
"- zadania wykonaj w tym jupyterze- dodawaj własne komórki tylko miedzy komórkami START ZADANIA, a KONIEC ZADANIA\n",
"- Zadania wykonaj tak, żeby po kliknięciu w Kernel → Restart & Run All notebook wykonał się bez błędów\n",
"- następnie wygeneruj z notebooka PDF (File → Download As → PDF via Latex).\n",
"- notebook z kodem oraz PDF zamieść w zakładce zadań w MS TEAMS"
"1. Skopiuj niniejszy notebook.\n",
"2. Podmień wartość zmiennej NR_INDEKSU na własny numer indeksu.\n",
"3. Zadania wykonaj w tym notatniku Jupyter - dodawaj własne komórki tylko miedzy komórkami START ZADANIA, a KONIEC ZADANIA\n",
"4. Zadania wykonaj tak, żeby po kliknięciu w *Kernel → Restart & Run All* notebook wykonał się bez błędów\n",
"5. Uzupełniony plik .ipynb umieść w systemie Moodle."
]
}
],
@ -737,7 +754,7 @@
"author": "Jakub Pokrywka",
"email": "kubapok@wmi.amu.edu.pl",
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@ -752,7 +769,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
"version": "3.10.12"
},
"subtitle": "0.Informacje na temat przedmiotu[ćwiczenia]",
"title": "Ekstrakcja informacji",