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

update

parent 4346d511
...@@ -36,7 +36,7 @@ CONTENT Litteratur ...@@ -36,7 +36,7 @@ CONTENT Litteratur
[BR] Aurélien Géron [BR] Aurélien Géron
[BR] O'Reilly / Wiley, 2019, 2.ed. [BR] O'Reilly / Wiley, 2019, 2.ed.
[BR] ISBN: 9781492032649 [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", \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!} ...@@ -61,7 +61,7 @@ svare sidetal og nogle kaptitler ikke til den officielle bog udgave ovenfor!}
[BR] Hardcover: 775 pages [BR] Hardcover: 775 pages
[BR] ISBN-10: 0262035618 [BR] ISBN-10: 0262035618
[BR] ISBN-13: 978-0262035613 [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 \p{\i{NOTE:} ikke obligatorisk, kun få afsnit og figure bruges herfra. (Bog god til
...@@ -77,85 +77,67 @@ CONTENT Kursusforkortelser ...@@ -77,85 +77,67 @@ CONTENT Kursusforkortelser
%\header{Kursusforkortelser} %\header{Kursusforkortelser}
[DL]: \displaystyle{ \dl{
Enten bare Deep Learning eller Deep Learning bogen af Ian Goodfellow, et. al. \dt{[DL]:}
} \dd{Enten bare Deep Learning eller Deep Learning bogen af Ian Goodfellow, et. al.}
[G]: \displaystyle{ \dt{[G]:}
Group, ITMAL øvelsesgruppe. \dd{Group, ITMAL øvelsesgruppe.}
}
\dt{[GITHOML]:}
[GITHOML]: \displaystyle{ \dd{
GitHub repository til [HOML], \dl{
\dt{GitHub repository til [HOML],}
\quote{\linkex{github.com/ageron/handson-ml2, https:///github.com/ageron/handson-ml2/}} \dd{\link{https:///github.com/ageron/handson-ml2/}}
\dt{Clone via HTTPS}
Clone via HTTPS: \dd{\code{git clone https://github.com/ageron/handson-ml2.git}}
\dt{eller via SSH}
\quote{\code{git clone https://github.com/ageron/handson-ml2.git}} \dd{\code{git clone git@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/}} \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}}
}
}
Clone via HTTPS: \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}
}
\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}} \dt{[ITMAL]:}
} \dd{IT Machine Learning, kursusnavnet.}
[HOML]: \displaystyle{ % [J1, J2, .. JN]: En journal opgave/aflevering, f.eks. "Journal 1" (J1). 'Journaler' erstattes af 'opgave afleveringer', O1, O2, osv.
Hands-on Machine Learning af Aurélien Géron, hovedlitteratur til dette kursus. \dt{[JPYNB]:}
\dd{Jypyter Python NoteBook, dvs. Notebook applikationen eller en notebook kildetekst fil (med endelsen .ipynb).}
[BR][BR] For klarhedens skyld undtales 'HOML' som Holm i Brian Holm. \dt{[ML]:}
\dd{Machine Learning, det generelle koncept.}
[BR][BR]\img{[FIGS]/brian_holm.jpg, Brian Holm (foto fra cdn-ctstaging.pressidium.com)}
\cite{https://cdn-ctstaging.pressidium.com/wp-content/uploads/2020/12/CORVOS_00000365-066.jpg} \dt{[NN:]}
} \dd{Neural Network(s).}
[ITMAL]: \displaystyle{
IT Machine Learning, kursusnavnet.
}
% [J1, J2, .. JN]: En journal opgave/aflevering, f.eks. "Journal 1" (J1). 'Journaler' erstattes af 'opgave afleveringer', O1, O2, osv. \dt{[O1, O2, O3, O4]:}
\dd{En opgaveaflevering, f.eks. O1 for opgaveaflevering 1.} %(opgave afleveringer hed tidligere journaler).
[JPYNB]: \displaystyle{ \dt{[SG]:}
Jypyter Python NoteBook, dvs. Notebook applikationen eller en notebook kildetekst fil (med endelsen .ipynb). \dd{Super-group, bestående af tre eller fire Grupper [G]'s.}
}
[ML]: \displaystyle{
Machine Learning, det generelle koncept.
}
[NN:] \displaystyle{
Neural Network.
}
[O1, O2, O3, O4]: \displaystyle{
En opgaveaflevering, f.eks. O1 for opgaveaflevering 1. \dt{[Q]:}
\dd{Et specifikt spørgsmål (Question) i en journal opgave, ala Qc for opgave 'c' i et journal spørgsmål.}
%(opgave afleveringer hed tidligere journaler).
}
[SG]: \displaystyle{
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.
} }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...@@ -170,10 +152,13 @@ CONTENT Dokumentation og links ...@@ -170,10 +152,13 @@ CONTENT Dokumentation og links
Primære Primære
\ul{ \dl{
\li{\linkex{[GITHOML] github.com/ageron/handson-ml2, https://github.com/ageron/handson-ml2/}} \dt{[GITHOML]:}
\li{\linkex{Scikit-learn:scikit-learn.org/stable, https://scikit-learn.org/stable/}} \dd{\link{https://github.com/ageron/handson-ml2/}}
\li{\linkex{Keras: keras.io, https://keras.io/}} \dt{Scikit-learn:}
\dd{\link{https://scikit-learn.org/stable/}}
\dt{Keras:}
\dd{\link{https://keras.io/}}
} }
Sekundære Sekundære
...@@ -224,117 +209,129 @@ CONTENT GPU Cluster ...@@ -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 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/ \dl{
\dd{\link{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
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. 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). \p{Der er pt. ingen load-balancing på de fire noder så se på gpucluster hjemmesiden, hvilke noder der er mindst belastede (via TOP
Brug 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. \p{Dvs. brugernavn/login f21malXX hvor XX er jeres ITMAL gruppe og password sammen som brugernavn med med _123
Quick Guide tilføjet.}
GIT via Jupyter
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! eller blot
GPU Hukommelse
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 \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
from keras.backend.tensorflow_backend import set_session behov.}
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))
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 \displaycode{/home/shared/(??)/startup/00_init.py}
itmalkernelfuns.EnableGPU()
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! \p{SSH til cluster: eller gør det på den klassiske metode via SSH til clusterens 'masternode' via}
Noter
Terminal på cluster
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.. \p{Se Hvad der kører på GPU}
Password
Kan kun ændres via SSH og > passwd \displaycode{! nvidia-smi}
Se Hvad der kører på CPU
! 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.} ...@@ -378,7 +375,7 @@ dig mere ind i sproget.}
\li{ALTERNATIV 2:} \li{ALTERNATIV 2:}
\ul{ \ul{
\li{Lav en konto på Google's Colaboratory,} \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}} \li{Test at du kan køre jupyter notebooks [JYPYNB] fra [GITHOML], prøv f.eks. \ipynb{index.ipynb}}
...@@ -484,7 +481,7 @@ lektioner..} ...@@ -484,7 +481,7 @@ lektioner..}
\li{Litteratur.} \li{Litteratur.}
\li{Intro til software, der bruges i ITMAL:} \li{Intro til software, der bruges i ITMAL:}
\ul{ \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:} \li{anaconda python distribution:}
\ul{ \ul{
\li{jupyter notebooks,} \li{jupyter notebooks,}
...@@ -536,7 +533,7 @@ emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og ...@@ -536,7 +533,7 @@ emner, der er for komplekse eller for 'pythoniske', så som 'Stacking arrays' og
\ul{ \ul{
\li{Diskussion om ML (indlejret i forelæsningen).} \li{Diskussion om ML (indlejret i forelæsningen).}
\li{Opgave: intro.ipynb} \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} \li{Opgave: modules_and_classes.ipynb}
} }
...@@ -548,7 +545,7 @@ brug for en python og lineær algebra kick-start.} ...@@ -548,7 +545,7 @@ brug for en python og lineær algebra kick-start.}
\sub{Slides} \sub{Slides}
\displaystyle{ \displaystyle{
\link{,[HOME]/L01/lesson01.pdf} \link{[HOME]/L01/lesson01.pdf}
} }
END END
...@@ -10,7 +10,7 @@ MKDIFF=colordiff -dw Refs/$1 $1 && echo "DIFF OK" && rm $1 ...@@ -10,7 +10,7 @@ MKDIFF=colordiff -dw Refs/$1 $1 && echo "DIFF OK" && rm $1
sync: build sync: build
ssh si "cd ITMAL_E21 && rm -f Html/*.html && git pull" 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: build:
@ $(PYCOURSE) -c $(COURSEFILES)/course.tex -v -o ../../Html/ @ $(PYCOURSE) -c $(COURSEFILES)/course.tex -v -o ../../Html/
......
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<!-- AUTOGENERATED HTML from CourseBuilder, CEF -->
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <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;'> <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>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. <p><i>Installation</i>: de obligatoriske værktøjer til ITMAL inden kursusstart (dvs.
L01).</p> 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 <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 <span style='font-family: courier new, courier;'>[JPYNB]</span>, og læs mere om pythons NumPy 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> bibliotek.</p>
<p><i>Ekstra materiale til forberedelse:</i> optionelle python opgaver, hvis du vil sætte <p><i>Ekstra materiale til forberedelse:</i> optionelle python opgaver, hvis du vil sætte
dig mere ind i sproget.</p> dig mere ind i sproget.</p>
<h4>Installation</h4> <h3>Installation</h3>
<ul> <ul>
<li>Installer Anaconda på din PC:</li> <li>Installer Anaconda på din PC:</li>
...@@ -36,7 +37,7 @@ dig mere ind i sproget.</p> ...@@ -36,7 +37,7 @@ dig mere ind i sproget.</p>
<li>ALTERNATIV 1:</li> <li>ALTERNATIV 1:</li>
<ul> <ul>
<li>brug vores ASE GPU Cluster som jupyter hub server,</li> <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> </ul>
<li>ALTERNATIV 2:</li> <li>ALTERNATIV 2:</li>
<ul> <ul>
...@@ -44,19 +45,19 @@ dig mere ind i sproget.</p> ...@@ -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> <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>
</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> </ul>
<h4>Forberedelse til Lektion 01</h4> <h3>Forberedelse til Lektion 01</h3>
<ul> <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>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> <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 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 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 ...@@ -64,28 +65,28 @@ emner, der er for komplekse eller for &#x27;pythoniske&#x27;, så som &#x27;Stac
</p> </p>
</ul> </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 <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 information (informations-overload), så du skal danne dig en metode til at
kunne selektere og navigere i materialet.</p> 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) om, at nettet flyder over med ekstra (til tider ubrugelig/ufiltreret)
information: en kildekritiks holdning er vigtig!</p> 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 <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 til python, så kan du f.eks. læse/skimme følgende notebooks, i prioriteret
rækkefølge:</p> rækkefølge:</p>