Paris study group March -April 2019

Bonjour @AmineSab, @eronald, @godot. Si vous n’y voyez pas d’inconvénients, je vais insérer dans le wiki post du thread Feedbacks from existing study groups votre idée d’un Google Drive partagé. C’est une super idée afin d’archiver et rendre accessibles tous les documents produits dans le cadre des groupes d’études.

2 Likes

Bonjour @AmineSab. Fastai a publié un guide pour utiliser fastai sur Colab: https://course.fast.ai/start_colab.html
Je ne l’ai pas encore utilisé. Tu en as écrit un autre car celui-ci ne fonctionne pas bien?

1 Like

Bonjour @pierreguillou, j’ai pris mes infos de ce tuto! J’ai eu du mal à le trouver hier, c’est pourquoi j’ai préféré faire une version courte et en français que j’ai partagé aux gens présents hier soir (et pour avoir la version jupyter local sur le même document). Je t’en prie pour le google drive ! Un point important selon moi est que tout le monde puisse avoir accès en lecture et écriture, pour tous les documents car on peut toujours avoir quelque chose à rajouter ou enrichir. La curation se fait facilement avec les documents drive en cas d’abus.

2 Likes

Super d’accord. J’ai inséré ton initiative dans le wiki post du feedback sur les groupes d’études. Merci :slight_smile:

Hello,

Un hack simple et utile pour télécharger un jeux de données d’images via Google Images et s’entraîner au “hot dog/no hot dog”:

Amusez-vous bien !

2 Likes

Bonjour,

Pour la création de dataset, j’ajouterai ce lien : Small tool to build image dataset: fastclass. Deux scripts très pratiques !

Bonjour à tous - concernant la Session 1 du groupe:

  • La séance a lieu lundi 11 à 19h - Amine a demandé qu’on décale les sessions sur 19h à partir de maintenant.

  • Je parlerai français pendant mon éxposé, saud demande générale de passer en anglais. Ceux qui désirent s’entraider en anglais pour les exos peuvent le faire.

  • Robert Salita peut venir expliquer la configuration d’un PC Deep Learning à domicile, pour ceux qui désirent avoir ça chez eux. A vous de décider quand vous voulez qu’il vienne.

  • A mon avis la carte graphique pas cher à acheter en ce moment est la Nvidia RTX 2060, et dans tous les cas, une RTX. Compter 300 zeuros. Il existe des notebooks HP et Dell/Alienware qui ent embarquent une version peut-être un peu bridée.

  • Ce serait super que vous mettiez à jour vos photos içi et sur le Meetup afin que l’on sâche qui est qui.

VISIONNEZ LA LECON 1 SVP - VISIONNEZ!!! ET LISEZ LES NOTES DE COURS INDIQUEES EN MARGE.
Edmund

1 Like

The next practical will be on Monday March 25 as Amine is busy on Monday March 18.

The March 11 hands-on practical covered training with image augmentation transforms (rotations etc), actually looking at the data files, saving a trained net, running individual images through a classifier. Students who attended should now play with running their own pictures through deep nets, and attempt to train their own nets from reduced sample sets with the help of data augmentation transforms (rotations etc).

Homework Assignment:
All people who attended were told to make 4 pieces of1/4 sheet of A4 paper hand-marked with a heavy marker pen, each with one of the signs 3, 7, O (circle) , X (cross) . The assigned homework is

  • to image the handwritten 3 and 7 with a cellphone and run them through the MNIST sample net as trained in the course notes during Lesson 1 (see below).

  • to train a net to recognize general handwritten O (circle) and X cross.

  • All trained nets and marked page photos should be kept and on March 25 week we will try and see who has the best trained net.

Edmund

PS. Please try to work through Lesson 2 of the FastAI course before the next practical.

Here is the link to the notebook that was on the projector.

J’ai réussi à complèter la première partie du devoir à la maison.

Je n’ai pas encore tout compris, mais en faisant l’exo en lisant la doc on finit par comprendre comment importer des fichiers, sauver des réseaux etc.

Deux fonctions utiles:

open_image(‘monfichierimage’) vous affiche une image, mais img=open_image(monfichierimage’) vous crée un object img de type Image.

si learn est un object Learner déjà entrainé, et img un object Image, learn.predict(img) effectue l’infèrence et vous imprime les prévisions du réseau.

Excusez mes erreurs, je suis très vague, ou plutôt corrigez les, vous avez la moitié voir un tiers de mon age!

Annoncez aussi votre réussite içi même, c’est motivant!

Cet exercice est réellement utile pour prendre en main la librairie FastAI et l’environnement - se perdre un peu dans une nouvelle ville, c’est tout le plaisir du touriste, non?

Edmund

Mon premier test …

1 Like

Hello Edmund
Et quel predict ??
Dans le TP, je ne comprends pas la prédiction de O et X avec la data augmentation ??
Bon we
Bruno

1 Like

@bruno16 -

C’est bien de poser des questions!

C’était juste pour montrer les images utilisées pour mon premier test, qu’elles commencent très crades. Un des buts du jeu est de trouver comment on passe d’images prises en mauvaises conditions à quelquechose que le réseau reconnait. Et ça je voudrais que les gens le fassent eux mêmes. SE CONFRONTER AU MONDE REEL.

La prédiction avec O et X avec Data Augmentation. C’est que en fait pour créer un réseau de rien on n’a pas assez d’échantillons, donc je propose aux étudiants d’utiliser les options de transformation dans les classes du générateur DataImageBunch pour créer des versions transformées (zooméées, symmetrisées, tournées etc) à partir de quelques O et X dessinés qu’ils se font eux mêmes, et voir si leur réseau résultant fonctionne mieux que sans cela. .

La Data Augmentation est une des découvertes récentes avec le Transfer Learning avec ResNet qui fornt que les CNN fonctionnent si bien en pratique sans enormément de de données d’entrainement.

J’épére bien que tu feras le TP et afficheras tes résultats-où les difficutés içi,

Edmund

@bruno16

Voici un exemple où l’équipe Fastai gagné un concours avec sa Data Augmentation:

If you want to match our top single-machine CIFAR-10 result, it’s as simple as four lines of code:

tfms = ([pad(padding=4), crop(size=32, row_pct=(0,1), col_pct=(0,1)),
    flip_lr(p=0.5)], [])
data = data_from_imagefolder('data/cifar10', valid='test',
    ds_tfms=tfms, tfms=cifar_norm)
learn = Learner(data, wrn_22(), metrics=accuracy).to_fp16()
learn.fit_one_cycle(25, wd=0.4)

Tu peux lire plus içi:
https://www.fast.ai/2018/10/02/fastai-ai/

Hi Edmond @eronald
Thanks for the link, but to be clear ,
pour la data-augmentation c’est au sein d’une même classe,
si on fait un classifier pour les 3 et les 7 , cela ne donne rien d’augmenter avec des 0 ou X ?
Voici un medium récent sur le one-shot learning en détection d’image
mais c’est plutot du fastai part 2

Bonne semaine
Bruno

1 Like

Hi Bruno,
Merçi bien de ton commentaire.

Thank you for the link, which is very interesting.

En ce qui concerne les O et le X, cela n’a rien à voir avec les 3 et les 7, le but du jeu est de créer à partir de tout point de départ que tu te choisis, comme par exemple Resnet, un classifieur avec très peu de données de training, quelques gribouillages vite faits., Içi je pense qu’à l’aide de la data augmentation incorporée dans FastAi cet exercice difficile à priori devient un TP à la portée des membres de notre groupe.

Nous le saurons avec certitude lundi prochain!

Edmund

Bonjour Ronald,
J’ai réussi à faire les 2 exercices et m’apprête à demander à mes enfants de faire des O et des X pour démontrer mes talents de devin. Pas sûr que ça les impressionne, mais cela a été très satisfaisant pour moi !
A lundi,
Jean-Luc

1 Like

Bonjour Jean-Luc,

Bravo et Félicitations!

Je suis content que vous avez trouvé que ce travail était un bon investissement de temps.

Vous devenez volontaire désigné pour raconter les problèmes rencontrés - et comment ils ont été surmontés - aux autres membres du groupe Lundi prochain.

Vos enfants sont nés dans un monde où les machines savent lire. Pas nous.

Edmund

Hi,

I am getting lost trying to understand how the predict function from fastAI works.
If someone could explain to me what the reconstruct function does and what an ItemBase is, I would greatly appreciate it. Thanks!

Hi,
On an full res image
torch.Size([3, 3968, 2976])

I can predict , but with very low probas

learn.predict(an_img)
(Category 3, tensor(0), tensor([0.6589, 0.3411]))

Question how to resize an image with fastai lib ??

@EmmaS you can do ItemBase?? but it doesn’t exist ??

For resize a quick search in the forum

verify_images [source][test]

verify_images ( path : PathOrStr , delete : bool = True , max_workers : int = 4 , max_size : int = None , recurse : bool = False , dest : PathOrStr = '.' , n_channels : int = 3 , interp = 2 , ext : str = None , img_format : str = None , resume : bool = None , **** kwargs** )

1 Like