Google Colab : Le guide Ultime

3 J'aimes

c’est vraiment génial colab…si vous avez le temps (en ce moment, vous devriez :wink: ) jetez un oeil à https://www.streamlit.io/. Je trouve ca encore plus fort

3 J'aimes

Oui Google Colab c’est vraiment top !

Il est possible d’entraîner des réseaux de neurones avec des libs python déjà pré-installées comme : TensorFlow, Keras, Pytorch.
On peut faire de l’entraînement de modèles via CPU, GPU, TPU (Hardware spécialisé développé par Google)
Voici un petit colab que je vous partage qui vous permet de vous mettre en jambe quand à l’utilisation des réseaux de neurones :
https://colab.research.google.com/drive/142_a--werZpWqYiuuiN1UK72gFZNIdzN

Sébastien

3 J'aimes

Quel est l’intérêt de Colab vis à vis des notebooks de Kaggle ? J’ai l’impression que Kaagle est bien plus rapide.

Pas beaucoup de différence en effet. Dans les 2 cas on peut utiliser le même hardware (Des GPUs, TPUs).

En tout cas je confirme qu’on peut faire tourner des codes avec des énormes réseaux de neurones et des tas de données très rapidement. Le faire sur un pc portable en local c’est juste impossible x)

Perso je fais tous mes réseaux avec Keras, en 4 lignes de code c’est réglé :blush: : ANN, CNN, RNN etc

Est ce qu’il y a vraiment un intérêt de coder un réseau directement avec scikit learn plutôt qu’avec Keras ?

La prochaine étape ça sera l’implémentation de réseaux directement sans code vu comme c’est parti

1 J'aime

Salut Arnaud

C’est à dire des énormes réseaux ?
J’ai besoin de faire tourner un CNN avec 10000 images 512x512 et 32 featured map et ça me prend des heures sur mon PC🤣, je peux descendre à combien sur Colab ?

Aucun souci, dans des TPs j’avais fait bien pire ahah

Là tu pourrais faire 100 epochs assez rapidement je pense (1-2 min ?)

1 J'aime

scikit learn c’est pas pour faire des réseaux de neurones, c’est pour faire toutes les applications classiques de machine learning (arbre de décision, régression log, k-means, SVM, XGBoost etc)

Ces méthodes marchent mieux que les NN quand tu as peu de données ou quand tu veux un algo White Box (https://www.quora.com/What-is-a-black-box-in-machine-learning)

Tu peux tout à fait faire un réseau de neurones avec scikit learn. :blush:
https://scikit-learn.org/stable/modules/neural_networks_supervised.html

D’ailleurs Il me semble que @smougel n’utilise que scikit learn dans son exemple c’est pour ça que je disais ça

100 epochs en 2 minutes :heart_eyes:

Je vais tester ça !

Serait-ce un outil à rajouter à la Toolbox ?

En tout cas je l’ai découvert au début du confinement et je trouve c’est une super alternative a Jupyter, bien que ça soit un peu lourd avec certaines librairie (notamment Selenium pour scraper les pages en JavaScript).

Pour la partie scraping, plutôt que s’embêter à avoir une stack avec deux/trois technos (Python / Selenium/ headless browser), tu peux passer sur Nodejs + Puppeteer ou Nodejs + Playwright

1 J'aime

Effectivement, je pense que c’est la meilleure approche, mais n’étant pas développeur de formation, je ne maîtrise pas Nodejs (et j’ai la flemme de sortir de ma zone de confort :stuck_out_tongue:). Mais après de nombreuses heures de recherches, j’ai bien peur de ne plus avoir le choix :slight_smile:

EDIT: J’ai l’impression qu’on peut faire tourner du nodejs dans colab, mais cela ne diminuera pas mon nombre de techno… Pas sur que cela soit la bonne approche.

Après il faut voir comment tu structures ta démarche, et comment chaque outil est utilisé.

Par exemple, est-ce que Google Colab a pour vocation à faire du web scraping, ou plutôt à faire du data science et analyse de données?

En parlant « bête », sans trop creuser le sujet, je dirais qu’à première vue ce n’est pas le rôle de Google Colab de faire la partie scraping.

Du coup il est assez naturel d’avoir plusieurs couches, une par fonction, ça semble pas incohérent d’avoir du Python pour le Data Science et du Node pour l’extract, ou bien utiliser Python pour l’extract aussi, question de préférence personnelle je pense :slight_smile: