Les démonstrations ont pour but de vous faire pratiquer les notions vues en cours, et sont essentielles pour votre apprentissage. Elles pourront comporter des aspects TP (papier crayon) et Labo, où vous implémenterez et expérimenterez avec des algorithmes d'apprentissage. Le langage utilisé sera Python.
Vous devriez maintenant tous avoir accès aux machines des salles de labo. Si ce n'est pas le cas, contactez-nous tout de suite!
Python est un un choix fait avec un biais d'informaticien. C'est un cours IFT après tout! Cela dit Python possède de nombreux avantages.
On veut un langage de programmation de haut niveau supportant de manière directe, simple et intuitive la manipulation de vecteurs et matrices (donc ni Java ni C). Parmi les langages de ce genre on peut citer Matlab, R, et Python (avec le package numpy). Python est un langage généraliste plus propre que Matlab, et plus simple à apprendre et à maîtriser que R. On veut que vous puissiez rapidement implanter un modèle chez vous, pour vos propres problèmes. Python est open source et gratuit et de nombreuses librairies d'apprentissage machine existent. De plus, Python est très populaire et bien supporté.
Nous utiliserons la version 2.7, car c'est la version installée sur les ordinateurs du diro et parce que bien que de plus en plus de librairies supportent python 3.0, 2.7 est la version la plus récente supportée par la plupart des librairies, dont entre autre Theano et Pylearn2.
Petite note sur SAGE. SAGE est essentiellement construit sur ipython, numpy et matplotlib (et beaucoup plus) mais apporte quelque changements incompatibles à la syntaxe python. Nous préférons utiliser directement python et ses modules (plus largement connus).
Nous vous suggérons de procéder dans l'ordre suivant:
Pour travailler sur les ordinateurs du laboratoire, vous devez ajouter les lignes suivantes à votre fichier ~/.bashrc
export PATH=/u/dift3395/.local/bin:$PATH
export PYTHONPATH=/u/dift3395/.local/lib/python2.7/site-packages
Pour travailler sur votre ordinateur personnel il vous faudra installer python, numpy, matplotlib et ipython notebook.
Durant les démos, nous travaillerons avec ipython notebook. L'interface est parfaite pour alterner explications, formules mathématiques et courts programmes python. Il est aussi possible de faire les devoirs avec un notebook, mais vous n'avez qu'à rendre un rapport pdf, l'IDE que vous utilisez est donc à votre choix. Finalement, il sera plus pratique d'utiliser un éditeur ou un IDE pour implémenter le projet du cours. Il y a l'embarras du choix. Voir ci-dessous:
Parmi les éditeurs simples voici quelques suggestions: (vous pouvez aussi examiner une liste plus complète)
Parmi les IDE plus complètes allez voici quelques suggestions:
Les démonstrations futures nécessiteront de coder en Python. Afin de vous familiariser avec ce language nous allons parcourir dans cette démonstration le tutoriel de Python.
Le tutoriel est accessible ici pour les anglophones. Si vous préfèrez, une traduction française est aussi disponible.
Si vous êtes à l'aise n'hésitez pas à tout lire.
Bonne démonstration.