Commit c1e994e1 authored by Carsten Eie Frigaard's avatar Carsten Eie Frigaard
Browse files

update

parent 4346d511
......@@ -36,7 +36,7 @@ CONTENT Litteratur
[BR] Aurélien Géron
[BR] O'Reilly / Wiley, 2019, 2.ed.
[BR] ISBN: 9781492032649
[BR] \link{online link, https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/}
[BR] \link{https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/}
}
\p{\i{NOTE 1:} dette er anden udgave (Second Edition/2.ed) af Géron's " Hands-on",
......@@ -61,7 +61,7 @@ svare sidetal og nogle kaptitler ikke til den officielle bog udgave ovenfor!}
[BR] Hardcover: 775 pages
[BR] ISBN-10: 0262035618
[BR] ISBN-13: 978-0262035613
[BR] \link{online link, http://www.deeplearningbook.org/}
[BR] \link{http://www.deeplearningbook.org/}
}
\p{\i{NOTE:} ikke obligatorisk, kun få afsnit og figure bruges herfra. (Bog god til
......@@ -77,85 +77,67 @@ CONTENT Kursusforkortelser
%\header{Kursusforkortelser}
[DL]: \displaystyle{
Enten bare Deep Learning eller Deep Learning bogen af Ian Goodfellow, et. al.
}
[G]: \displaystyle{
Group, ITMAL øvelsesgruppe.
}
[GITHOML]: \displaystyle{
GitHub repository til [HOML],
\quote{\linkex{github.com/ageron/handson-ml2, https:///github.com/ageron/handson-ml2/}}
Clone via HTTPS:
\quote{\code{git clone https://github.com/ageron/handson-ml2.git}}
eller via SSH
\quote{\code{git clone git@github.com:ageron/handson-ml2.git}}
}
[GITMAL]: \displaystyle{
Git repository for ITMAL,
\quote{\linkex{gitlab.au.dk/au204573/GITMAL, https://gitlab.au.dk/au204573/GITMAL/}}
Clone via HTTPS:
\quote{\code{git clone https://gitlab.au.dk/au204573/GITMAL.git}}
eller via SSH
\quote{\code{git clone git@gitlab.au.dk:au204573/GITMAL.git}}
}
[HOML]: \displaystyle{
Hands-on Machine Learning af Aurélien Géron, hovedlitteratur til dette kursus.
[BR][BR] For klarhedens skyld undtales 'HOML' som Holm i Brian Holm.
[BR][BR]\img{[FIGS]/brian_holm.jpg, Brian Holm (foto fra cdn-ctstaging.pressidium.com)}
\dl{
\dt{[DL]:}
\dd{Enten bare Deep Learning eller Deep Learning bogen af Ian Goodfellow, et. al.}
\dt{[G]:}
\dd{Group, ITMAL øvelsesgruppe.}
\dt{[GITHOML]:}
\dd{
\dl{
\dt{GitHub repository til [HOML],}
\dd{\link{https:///github.com/ageron/handson-ml2/}}
\dt{Clone via HTTPS}
\dd{\code{git clone https://github.com/ageron/handson-ml2.git}}
\dt{eller via SSH}
\dd{\code{git clone git@github.com:ageron/handson-ml2.git}}
}
}
\cite{https://cdn-ctstaging.pressidium.com/wp-content/uploads/2020/12/CORVOS_00000365-066.jpg}
}
\dt{[GITMAL]:}
\dd{
\dl{
\dt{Git repository for ITMAL,}
\dd{\link{https://gitlab.au.dk/au204573/GITMAL/}}
\dt{Clone via HTTPS}
\dd{\code{git clone https://gitlab.au.dk/au204573/GITMAL.git}}
\dt{eller via SSH}
\dd{\code{git clone git@gitlab.au.dk:au204573/GITMAL.git}}
}
}
[ITMAL]: \displaystyle{
IT Machine Learning, kursusnavnet.
}
\dt{[HOML]:}
\dd{Hands-on Machine Learning af Aurélien Géron, hovedlitteratur til dette kursus. For klarhedens skyld undtales 'HOML' som Holm i Brian Holm.}
\dd{
[BR]\img{[FIGS]/brian_holm.jpg, Brian Holm (foto fra cdn-ctstaging.pressidium.com)}
[BR]\cite{https://cdn-ctstaging.pressidium.com/wp-content/uploads/2020/12/CORVOS_00000365-066.jpg}
}
% [J1, J2, .. JN]: En journal opgave/aflevering, f.eks. "Journal 1" (J1). 'Journaler' erstattes af 'opgave afleveringer', O1, O2, osv.
[JPYNB]: \displaystyle{
Jypyter Python NoteBook, dvs. Notebook applikationen eller en notebook kildetekst fil (med endelsen .ipynb).
}
\dt{[ITMAL]:}
\dd{IT Machine Learning, kursusnavnet.}
[ML]: \displaystyle{
Machine Learning, det generelle koncept.
}
% [J1, J2, .. JN]: En journal opgave/aflevering, f.eks. "Journal 1" (J1). 'Journaler' erstattes af 'opgave afleveringer', O1, O2, osv.
[NN:] \displaystyle{
Neural Network.
}
\dt{[JPYNB]:}
\dd{Jypyter Python NoteBook, dvs. Notebook applikationen eller en notebook kildetekst fil (med endelsen .ipynb).}
[O1, O2, O3, O4]: \displaystyle{
\dt{[ML]:}
\dd{Machine Learning, det generelle koncept.}
En opgaveaflevering, f.eks. O1 for opgaveaflevering 1.
\dt{[NN:]}
\dd{Neural Network(s).}
%(opgave afleveringer hed tidligere journaler).
}
\dt{[O1, O2, O3, O4]:}
\dd{En opgaveaflevering, f.eks. O1 for opgaveaflevering 1.} %(opgave afleveringer hed tidligere journaler).
[SG]: \displaystyle{
Super-group, bestående af tre eller fire Grupper [G]'s.
}
\dt{[SG]:}
\dd{Super-group, bestående af tre eller fire Grupper [G]'s.}
[Q]: \displaystyle{
Et specifikt spørgsmål (Question) i en journal opgave, ala Qc for opgave 'c' i et journal spørgsmål.
\dt{[Q]:}
\dd{Et specifikt spørgsmål (Question) i en journal opgave, ala Qc for opgave 'c' i et journal spørgsmål.}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -170,10 +152,13 @@ CONTENT Dokumentation og links
Primære
\ul{
\li{\linkex{[GITHOML] github.com/ageron/handson-ml2, https://github.com/ageron/handson-ml2/}}
\li{\linkex{Scikit-learn:scikit-learn.org/stable, https://scikit-learn.org/stable/}}
\li{\linkex{Keras: keras.io, https://keras.io/}}
\dl{
\dt{[GITHOML]:}
\dd{\link{https://github.com/ageron/handson-ml2/}}
\dt{Scikit-learn:}
\dd{\link{https://scikit-learn.org/stable/}}
\dt{Keras:}
\dd{\link{https://keras.io/}}
}
Sekundære
......@@ -224,117 +209,129 @@ CONTENT GPU Cluster
Der er adgang til en GPU baseret server ifbm kurset. Serveren består af en 'master' som kan tilgås via
http://gpucluster.st.lab.au.dk/
og fire 'slave' noder med GPU'er via
http://gpucluster.st.lab.au.dk/jhub1 (NEDE: brændt varm!)
http://gpucluster.st.lab.au.dk/jhub2
http://gpucluster.st.lab.au.dk/jhub3
\dl{
\dd{\link{http://gpucluster.st.lab.au.dk/}}
}
http://gpucluster.st.lab.au.dk/jhub4 (unavailable/resv. til forksning)
og fem 'slave' noder med GPU'er via
http://gpucluster.st.lab.au.dk/jhub5 (GPU 3090 og ny 4GHz CPU, 3090 har problemer med Tensorflow)
\dl{
\dd{\link{http://gpucluster.st.lab.au.dk/jhub1}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub2}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub3}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub4}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub4}}
\dd{\link{http://gpucluster.st.lab.au.dk/jhub5} (GPU 3090 og ny 4GHz CPU, 3090 har problemer med Tensorflow)}
}
som frit kan benyttes.
Adgang kræver at i er på EDUROAM eller VPN/au access,.
\p{Adgang kræver at i er på EDUROAM eller VPN/au access.}
Der er pt. ingen load-balancing på de fire noder så se på gpucluster hjemmesiden, hvilke noder der er mindst belastede (via TOP dataen).
Brug
\p{Der er pt. ingen load-balancing på de fire noder så se på gpucluster hjemmesiden, hvilke noder der er mindst belastede (via TOP
dataen).}
Alle grupper har fået deres egen konto, og f.eks. så logger Grp 09 ind som:
\sub{Brug}
Login: f21mal09
\p{Alle grupper har fået deres egen konto, og f.eks. så logger Grp 09 ind som:}
Password: f21mal09_123
\dl{
\dd{Login: f21mal09}
\dd{Password: f21mal09_123}
}
Dvs. brugernavn/login f21malXX hvor XX er jeres ITMAL gruppe og password sammen som brugernavn med med _123 tilføjet.
Quick Guide
GIT via Jupyter
\p{Dvs. brugernavn/login f21malXX hvor XX er jeres ITMAL gruppe og password sammen som brugernavn med med _123
tilføjet.}
I kan clone git repositoret via en '!'-shell commando i Jupyter notepad'en
\sub{Quick Guide}
! git clone https://cfrigaard@bitbucket.org/cfrigaard/itmal
\dl{
\dt{GIT via Jupyter:}
\dd{I kan clone git repositoret via en '!'-shell commando i Jupyter notepad'en}
\dd{\code{! git clone https://cfrigaard@bitbucket.org/cfrigaard/itmal}}
\dd{og så herefter pull'e via}
\dd{\code{! cd itmal && git pull}}
og så herefter pull'e via
\dt{PYTHONPATH}
\dd{NOTE: PYTHONPATH er IKKE sat (som vi gjorde i L03/modules_and _classes.ipynb), men kan simuleres via}
\dd{\code{import sys,os sys.path.append(os.path.expanduser('~/itmal'))}}
}
! cd itmal && git pull
\p{Hvis du kloner GITMAL til itmal som overnfor er der nu automatisk sat en path op til libitaml, prøv det!}
PYTHONPATH
\sub{GPU Hukommelse}
NOTE: PYTHONPATH er IKKE sat (som vi gjorde i L03/modules_and _classes.ipynb), men kan simuleres via
\p{Ved brug af Keras+GPU allokeres automatisk al GPU hukommelse. Når vi er flere brugere skal i derfor indsætte
følgende i starten af jeres Keras/Tensorflow Jupyternotebook kode:}
import sys,os sys.path.append(os.path.expanduser('~/itmal'))
\displaycode{
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.05
config.gpu_options.allow_growth=True
set_session(tf.Session(config=config))
}
Hvis du kloner GITMAL til itmal som overnfor er der nu automatisk sat en path op til libitaml, prøv det!
GPU Hukommelse
eller blot
Ved brug af Keras+GPU allokeres automatisk al GPU hukommelse. Når vi er flere brugere skal i derfor indsætte følgende i starten af jeres Keras/Tensorflow Jupyternotebook kode:
\displaycode{
from libitmal import kernelfuns as itmalkernelfuns
itmalkernelfuns.EnableGPU()
}
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.05
config.gpu_options.allow_growth=True
set_session(tf.Session(config=config))
\p{så allokeres kun en brøkdel af GPU hukommelsen! Det ser ud til at growth=True ikke virker, så sæt per_process_gpu_memory_fraction op hvis i har
behov.}
eller blot
\p{Der kører nu et automatisk startup-script når i logger ind/åbner en nodebook. Se}
from libitmal import kernelfuns as itmalkernelfuns
itmalkernelfuns.EnableGPU()
\displaycode{/home/shared/(??)/startup/00_init.py}
så allokeres kun en brøkdel af GPU hukommelsen! Det ser ud til at growth=True ikke virker, så sæt per_process_gpu_memory_fraction op hvis i har behov.
\p{der kører StartupSequence_SetPath() og StartupSequence_EnableGPU(), den sidste unktion med følgende default
paramete}
Der kører nu et automatisk startup-script når i logger ind/åbner en nodebook. Se
\displaycode{def StartupSequence_EnableGPU(gpu_mem_fraction=0.05, gpus=None, cpus=None)}
/home/shared/(??)/startup/00_init.py
\p{Bemærk at jeres jupyter server, beholder all hukommelse, også når i logger af...kun "stop my server"/"start server"
frigiver!}
der kører StartupSequence_SetPath() og StartupSequence_EnableGPU(), den sidste unktion med følgende default paramete
%\p{Jeg vil slå alle proceser ned, der har allokeret over ca. 4Gb GPU hukommelse eller har kørt i en uge...det er en
%automatisk process, der kører med ca 5. interval!}
def StartupSequence_EnableGPU(gpu_mem_fraction=0.05, gpus=None, cpus=None)
\sub{Noter}
Bemærk at jeres jupyter server, beholder all hukommelse, også når i logger af...kun "stop my server"/"start server" frigiver!
\p{Terminal på cluster: brug Jupyter notebooks terminalen. Herefter har du en fin terminal på cluster noden}
Jeg vil slå alle proceser ned, der har allokeret over ca. 4Gb GPU hukommelse eller har kørt i en uge...det er en automatisk process, der kører med ca 5. interval!
Noter
Terminal på cluster
\p{SSH til cluster: eller gør det på den klassiske metode via SSH til clusterens 'masternode' via}
Brug Jupyter notebooks terminalen:
\displaycode{> ssh -p 443 gpucluster.st.lab.au.dk}
Herefter har du en fin terminal på cluster noden:
\p{og herfra videre til 'noder' via ssh node 1 til node 5, f.eks.}
SSH til cluster
\displaycode{> ssh node3}
Eller gør det på den klassiske metode via SSH til clusterens 'masternode' via
\p{Brug ikke 'masternode'en til udregninger, kun node 1 til 5!}
> ssh -p 443 gpucluster.st.lab.au.dk
\p{Sæt gerne jeres SSH certifickater på, så i slipper for login/password.}
og herfra videre til 'noder' via ssh node 1 til node 4, f.eks.
\p{Password kan kun ændres via SSH og \code{> passwd}}
> ssh node3
\p{Se Hvad der kører på CPU}
Brug ikke 'masternode'en til udregninger, kun node 1 til 4!
\displaycode{! top -n1}
Sæt gerne jeres SSH certifickater på, så i slipper for login/password..
Password
\p{Se Hvad der kører på GPU}
Kan kun ændres via SSH og > passwd
Se Hvad der kører på CPU
\displaycode{! nvidia-smi}
! top -n1
\p{Kill din egne processer}
Se Hvad der kører på GPU
\displaycode{! kill -9 <pid>}
! nvidia-smi
\p{eller}
Kill din egne processer
\displaycode{! pkill <procesnavn>}
! kill -9 <pid>
eller
! pkill <navn>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -378,7 +375,7 @@ dig mere ind i sproget.}
\li{ALTERNATIV 2:}
\ul{
\li{Lav en konto på Google's Colaboratory,}
\li{\linkex{,https://colab.research.google.com}}
\li{\link{https://colab.research.google.com}}
}
}
\li{Test at du kan køre jupyter notebooks [JYPYNB] fra [GITHOML], prøv f.eks. \ipynb{index.ipynb}}
......@@ -484,7 +481,7 @@ lektioner..}
\li{Litteratur.}
\li{Intro til software, der bruges i ITMAL:}
\ul{
\li{python generelt (link til mini python intro: \link{,[HOME]/L01/demo.ipynb},}
\li{python generelt (link til mini python intro: \link{[HOME]/L01/demo.ipynb},}
\li{anaconda python distribution:}
\ul{
\li{jupyter notebooks,}
......@@ -536,7 +533,7 @@ emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og
\ul{
\li{Diskussion om ML (indlejret i forelæsningen).}
\li{Opgave: intro.ipynb}
\li{HUSK DATA til intro'en (download og udpak så "dataset" dir ligger sammen med intro.ipynb): \link{,[HOME]/L01/datasets.zip}}
\li{HUSK DATA til intro'en (download og udpak så "dataset" dir ligger sammen med intro.ipynb): \link{[HOME]/L01/datasets.zip}}
\li{Opgave: modules_and_classes.ipynb}
}
......@@ -548,7 +545,7 @@ brug for en python og lineær algebra kick-start.}
\sub{Slides}
\displaystyle{
\link{,[HOME]/L01/lesson01.pdf}
\link{[HOME]/L01/lesson01.pdf}
}
END
......@@ -10,7 +10,7 @@ MKDIFF=colordiff -dw Refs/$1 $1 && echo "DIFF OK" && rm $1
sync: build
ssh si "cd ITMAL_E21 && rm -f Html/*.html && git pull"
cd ../../Html && scp -C -r *.html Figs/ si:ITMAL_E21/Html
cd ../../ && scp -q -C -r Html si:ITMAL_E21/
build:
@ $(PYCOURSE) -c $(COURSEFILES)/course.tex -v -o ../../Html/
......
<!DOCTYPE html>
<html>
<!-- AUTOGENERATED HTML from CourseBuilder, CEF -->
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<body style='font-family: times new roman, times, serif;font-size: 12pt;color: #424222;'>
<h3>Forberedelse inden kursusstart</h3>
<h2>Forberedelse inden kursusstart</h2>
<h4>Formål</h4>
<h3>Formål</h3>
<p><i>Gruppe tilmelding:</i> tilmeld dig til en ITMAL gruppe (find link i Brightspace!).</p>
<p><i>Installation</i>: de obligatoriske værktøjer til ITMAL inden kursusstart (dvs.
L01).</p>
<p><i>Forberedelse til L01:</i> Hent GIT repositories til litteraturen <span style='font-family: courier new, courier;'>[GITHOML]</span>, prøv at
kører et par Jupyter Notebooks <span style='font-family: courier new, courier;'>[JPYNB]</span>, og læs mere om pythons NumPy
<p><i>Forberedelse til L01:</i> Hent GIT repositories til litteraturen &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;, prøv at
kører et par Jupyter Notebooks &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[JPYNB]&lt;/span&gt;, og læs mere om pythons NumPy
bibliotek.</p>
<p><i>Ekstra materiale til forberedelse:</i> optionelle python opgaver, hvis du vil sætte
dig mere ind i sproget.</p>
<h4>Installation</h4>
<h3>Installation</h3>
<ul>
<li>Installer Anaconda på din PC:</li>
......@@ -36,7 +37,7 @@ dig mere ind i sproget.</p>
<li>ALTERNATIV 1:</li>
<ul>
<li>brug vores ASE GPU Cluster som jupyter hub server,</li>
<li>se info in <a href='https://brightspace.au.dk/d2l/le/lessons/27524/topics/244596' rel='noopener' target='_blank'>kursusinformation | GPU Cluster</a>.</li>
<li>se info in &lt;a href=&#x27;https://brightspace.au.dk/d2l/le/lessons/27524/topics/244596&#x27; rel=&#x27;noopener&#x27; target=&#x27;_blank&#x27;&gt;kursusinformation | GPU Cluster&lt;/a&gt;.</li>
</ul>
<li>ALTERNATIV 2:</li>
<ul>
......@@ -44,19 +45,19 @@ dig mere ind i sproget.</p>
<li><span style='font-family: courier new, courier;'><a href='https://colab.research.google.com' rel='noopener' target='_blank'>colab.research.google.com</a></span></li>
</ul>
</ul>
<li>Test at du kan køre jupyter notebooks [JYPYNB] fra <span style='font-family: courier new, courier;'>[GITHOML]</span>, prøv f.eks. <span style='font-family: courier new, courier;'>index.ipynb</span></li>
<li>Test at du kan køre jupyter notebooks [JYPYNB] fra &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;, prøv f.eks. <span style='font-family: courier new, courier;'>index.ipynb</span></li>
</ul>
<h4>Forberedelse til Lektion 01</h4>
<h3>Forberedelse til Lektion 01</h3>
<ul>
<li>Læs materiale i <a href='https://brightspace.au.dk/d2l/le/lessons/27524/units/244588'>kursusinformation</a>,</li>
<li>Læs materiale i &lt;a href=&#x27;https://brightspace.au.dk/d2l/le/lessons/27524/units/244588&#x27;&gt;kursusinformation&lt;/a&gt;,</li>
<li>få fat i litteratur til kurset,</li>
<li>clone <span style='font-family: courier new, courier;'>[GITHOML]</span> til din egen PC, se how-to under <a href='https://brightspace.au.dk/d2l/le/lessons/27524/topics/254943' rel='noopener' target='_blank'>kursusinformation | kursusforkortelser</a>.</li>
<li>clone &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt; til din egen PC, se how-to under &lt;a href=&#x27;https://brightspace.au.dk/d2l/le/lessons/27524/topics/254943&#x27; rel=&#x27;noopener&#x27; target=&#x27;_blank&#x27;&gt;kursusinformation | kursusforkortelser&lt;/a&gt;.</li>
<li>skim denne tutorial igennem:</li>
<p style='margin-left: 30px'><i>§ Scientific Python tutorials:</i> NumPy, <span style='font-family: courier new, courier;'>tools_numpy.ipynb</span>, <span style='font-family: courier new, courier;'>[GITHOML]</span>
<p style='margin-left: 30px;'><i>§ Scientific Python tutorials:</i> NumPy, <span style='font-family: courier new, courier;'>tools_numpy.ipynb</span>, &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;
<br><br>
&lt;br&gt;&lt;br&gt;
Læs blot, hvad du finder relevant så som &#x27;iteration&#x27;, men spring blot over
emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stacking arrays&#x27; og
......@@ -64,28 +65,28 @@ emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stac
</p>
</ul>
<h4>Note vdr. kildekritik og &#x27;informations-overload&#x27;</h4>
<h3>Note vdr. kildekritik og &#x27;informations-overload&#x27;</h3>
<p>Vi vil i dette kurset tit kunne blive overvældet af for meget ekstern
information (informations-overload), så du skal danne dig en metode til at
kunne selektere og navigere i materialet.</p>
<p>Vi vil primært holde os til <span style='font-family: courier new, courier;'>[HOML]</span>, <span style='font-family: courier new, courier;'>[GITHOML]</span> og Scikit-learn, med en note
<p>Vi vil primært holde os til &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt;, &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt; og Scikit-learn, med en note
om, at nettet flyder over med ekstra (til tider ubrugelig/ufiltreret)
information: en kildekritiks holdning er vigtig!</p>
<h4>Ekstra materiale til forberedelse</h4>
<h3>Ekstra materiale til forberedelse</h3>
<p>Hvis du har brug for at opfriske dit lineær algebra matematik eller er helt ny
til python, så kan du f.eks. læse/skimme følgende notebooks, i prioriteret
rækkefølge:</p>
<ol>
<li>(OPTIONEL) python og vectors/matrices math: <br> <span style='margin-left: 30px'><span style='font-family: courier new, courier;'>math_linear_algebra.ipynb</span> <span style='font-family: courier new, courier;'>[GITHOML]</span>,</span></li>
<li>(OPTIONEL) python og grafisk plotting: <br> <span style='margin-left: 30px'><span style='font-family: courier new, courier;'>tools_matplotlib.ipynb</span> <span style='font-family: courier new, courier;'>[GITHOML]</span>,</span></li>
<li>(OPTIONEL) ekstra, Python og dataværktøjet &#x27;Pandas&#x27;: <br> <span style='margin-left: 30px'><span style='font-family: courier new, courier;'>tools_pandas.ipynb</span> <span style='font-family: courier new, courier;'>[GITHOML]</span>,</span></li>
<li>(OPTIONEL) ekstra, mest for de matematik intereserede: <br> <span style='margin-left: 30px'><span style='font-family: courier new, courier;'>math_differential_calculus.ipynb</span> <span style='font-family: courier new, courier;'>[GITHOML]</span>.</span></li>
<li>(OPTIONEL) python og vectors/matrices math: &lt;br&gt; <span style='margin-left: 30px;'><span style='font-family: courier new, courier;'>math_linear_algebra.ipynb</span> &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;,</span></li>
<li>(OPTIONEL) python og grafisk plotting: &lt;br&gt; <span style='margin-left: 30px;'><span style='font-family: courier new, courier;'>tools_matplotlib.ipynb</span> &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;,</span></li>
<li>(OPTIONEL) ekstra, Python og dataværktøjet &#x27;Pandas&#x27;: &lt;br&gt; <span style='margin-left: 30px;'><span style='font-family: courier new, courier;'>tools_pandas.ipynb</span> &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;,</span></li>
<li>(OPTIONEL) ekstra, mest for de matematik intereserede: &lt;br&gt; <span style='margin-left: 30px;'><span style='font-family: courier new, courier;'>math_differential_calculus.ipynb</span> &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;.</span></li>
</ol>
<p>Pandas er et meget populært databehandlingsværktøj, men det
......
<!DOCTYPE html>
<html>
<!-- AUTOGENERATED HTML from CourseBuilder, CEF -->
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<body style='font-family: times new roman, times, serif;font-size: 12pt;color: #424222;'>
<h3>Introduktion</h3>
<h2>Introduktion</h2>
<h4>Formål</h4>
<h3>Formål</h3>
Denne lektion har til formål at give indledende information om kurset. Dvs.
at vi præsentere de formelle rammer vdr.
......@@ -33,11 +34,11 @@ udviklingsværktøjer til python vi vil bruge.</p>
samt forsøge os med et par små programmer i python.</p>
<p>Til slut kigger vi på supervised learning og at kunne predicte
&#x27;life-satisfactory&#x27; via demo projektet i <span style='font-family: courier new, courier;'>[HOML]</span>, og vi ser på pythons modul- og
&#x27;life-satisfactory&#x27; via demo projektet i &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt;, og vi ser på pythons modul- og
klassebegreber (modules, classes), så vi kan genbruge kode i senere
lektioner..</p>
<h4>Indhold</h4>
<h3>Indhold</h3>
<ul>
<li>Formelle rammer vdr. kurset.</li>
......@@ -47,13 +48,13 @@ lektioner..</p>
<li>en poster-session, med aflevering af poster og mundtlig præsentation af poster,</li>
<li>en mundtlig gennemgang af den sidste journal med alle medlemmer i ITMAL gruppen, samt evaluering af hver gruppemedlems
bidrag.</li>
<p style='margin-left: 30px'><b><span style='color: #ff3333'>=&gt; Endelig godkendelse af kurset sker på en samlet vurdering af de tre punkter ovenfor.</span></b></p>
<p style='margin-left: 30px;'><b><span style='color: #ff3333'>=&gt; Endelig godkendelse af kurset sker på en samlet vurdering af de tre punkter ovenfor.</span></b></p>
</ul>
<li>Læringsmål.</li>
<li>Litteratur.</li>
<li>Intro til software, der bruges i ITMAL:</li>
<ul>
<li>python generelt (link til mini python intro: <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/demo.ipynb'>demo.ipynb</a></span>,</li>
<li>python generelt (link til mini python intro: <span style='font-family: courier new, courier;'><a href='https://itundervisning.ase.au.dk/ITMAL_E21/L01/demo.ipynb'>itundervisning.ase.au.dk/ITMAL_E21/L01/demo.ipynb</a></span>,</li>
<li>anaconda python distribution:</li>
<ul>
<li>jupyter notebooks,</li>
......@@ -64,17 +65,17 @@ bidrag.</li>
</ul>
<li>Intro til machine learning:</li>
<ul>
<li>Supervised learning (regression): &#x27;life-satisfactory&#x27; <span style='font-family: courier new, courier;'>[HOML]</span>.</li>
<li>Supervised learning (regression): &#x27;life-satisfactory&#x27; &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt;.</li>
</ul>
</ul>
<h4>Litteratur</h4>
<h3>Litteratur</h3>
<p style='margin-left: 30px'>§ Preface, p. xv <span style='font-family: courier new, courier;'>[HOML]</span> (eksklusiv fra Using Code Examples...og resten af intro kapitlet)</p>
<p style='margin-left: 30px;'>§ Preface, p. xv &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt; (eksklusiv fra Using Code Examples...og resten af intro kapitlet)</p>
<p style='margin-left: 30px'>§ 1 The machine Learning Landscape <span style='font-family: courier new, courier;'>[HOML]</span></p>
<p style='margin-left: 30px;'>§ 1 The machine Learning Landscape &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt;</p>
<p style='margin-left: 30px'>§ 2 End-to-End Machine Learning Project <span style='font-family: courier new, courier;'>[HOML]</span></p>
<p style='margin-left: 30px;'>§ 2 End-to-End Machine Learning Project &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[HOML]&lt;/span&gt;</p>
<p>Dette kapitel indeholder mange nye koncepter og en del kode. Vi vender
senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overblik
......@@ -82,15 +83,15 @@ senere tilbage til kapitlet senere, så læs det og prøv at danne dig et overbl
<p>Når du har installeret anaconda (se L00):</p>
<p style='margin-left: 30px'>§ Scientific Python tutorials: NumPy</p>
<p style='margin-left: 30px;'>§ Scientific Python tutorials: NumPy</p>
<p style='margin-left: 30px'>tools_numpy.ipynb <span style='font-family: courier new, courier;'>[GITHOML]</span></p>
<p style='margin-left: 30px;'>tools_numpy.ipynb &lt;span style=&#x27;font-family: courier new, courier;&#x27;&gt;[GITHOML]&lt;/span&gt;</p>
<p>Læs blot, hvad du finder relevant så som &#x27;iteration&#x27;, men spring blot over
emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stacking arrays&#x27; og
&#x27;QR decomposition&#x27;.</p>
<h4>Opgaver</h4>
<h3>Opgaver</h3>
<p>Forberedelse inden lektionen</p>
......@@ -100,24 +101,24 @@ emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stac
<li>Læs pensum.</li>
</ul>
<h4>På klassen</h4>
<h3>På klassen</h3>
<ul>
<li>Diskussion om ML (indlejret i forelæsningen).</li>
<li>Opgave: intro.ipynb</li>