Ce projet modifie la mise en œuvre du code MXNET dans le livre original "Hand-on Deep Learning" vers TensorFlow2. Après que le tuteur d'Archersama a consulté l'enseignant Li Mu, la mise en œuvre de ce projet a été approuvée par l'enseignant Li Mu. Auteurs de livres originaux: Aston Zhang, Li MU, Zachary C. Lipton, Alexander J. Smora et autres contributeurs communautaires, Adresse GitHub: https://github.com/d2l-ai/d2l-zh
Il existe quelques différences dans les versions chinoises et anglaises de ce livre. Ce projet refait principalement Tensorflow2 pour la version chinoise de ce livre. En outre, ce projet fait également référence au projet Dive-Into-Dl-Pytorch que les refactors Pytorch dans la version chinoise de ce livre, merci ici.
Il a été mis à jour à dix chapitres et est mis à jour en continu. . .
Le projet a été signalé par de nombreux comptes publics tels que Machine Heart et a été reconnu par l'auteur original Li Mu.
Introduction
Ce référentiel contient principalement deux dossiers: le code et les documents (plus certaines données sont stockées dans les données). Le dossier de code est le code de carnet de jupyter pertinent pour chaque chapitre (basé sur TensorFlow2); Le dossier DOCS est le contenu pertinent dans le format Markdown du livre "Hand-on Deep Learning", puis utilise Docsify pour déployer le document Web sur les pages GitHub. Étant donné que le livre original utilise le framework MXNET, le contenu DOCS peut être légèrement différent du livre original, mais le contenu global est le même. Les contributions à ce projet ou problème sont les bienvenues.
Pour les foules
Ce projet s'adresse aux chaussures pour enfants qui s'intéressent à l'apprentissage en profondeur, en particulier à ceux qui souhaitent utiliser Tensorflow2 pour l'apprentissage en profondeur. Ce projet ne vous oblige pas à avoir des connaissances de base de l'apprentissage en profondeur ou de l'apprentissage automatique. Il vous suffit de comprendre les mathématiques et la programmation de base, telles que l'algèbre linéaire de base, la différentiel et la probabilité et la programmation de base Python.
Comment manger
Méthode 1
Ce référentiel contient des formules de latex, mais le natif de Markdown de GitHub ne prend pas en charge l'affichage de la formule, et le dossier DOCS a été déployé sur les pages GitHub à l'aide de DocSify, donc le moyen le plus simple de visualiser le document est d'accéder directement à la version Web de ce projet . Bien sûr, si vous souhaitez toujours exécuter le code pertinent, vous devez toujours cloner le projet, puis exécuter le code pertinent dans le dossier de code.
Méthode 2
Vous pouvez également accéder à la documentation localement et installer d'abord docsify-cli :
Puis cloner le projet localement:
git clone https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0
cd Dive-into-DL-TensorFlow2.0
Exécutez ensuite un serveur local, afin que vous puissiez facilement accéder à l'effet de rendu Web du document en temps réel sur http://localhost:3000 .
Contributeurs
Les sponsors et les principaux contributeurs de ce projet sont les suivants
archersama (chef) | Trickygo
| Épée
| Shusentang
| Liangqingyuan
|
Table des matières
- Introduction
- Guide de lecture
- 1. Introduction à l'apprentissage en profondeur
- 2. Connaissances de préparation
- 2.1 Configuration de l'environnement
- 2.2 Fonctionnement des données
- 2.3 Trouver automatiquement les gradients
- 2.4 Vérifiez le document
- 3. Bases de l'apprentissage en profondeur
- 3.1 Régression linéaire
- 3.2 Implémentation de la régression linéaire à partir de zéro
- 3.3 Une implémentation concise de la régression linéaire
- 3.4 Régression Softmax
- 3.5 Ensemble de données de classification d'image (mode-MNIST)
- 3.6 Implémentation de la régression Softmax à partir de zéro
- 3.7 Une simple mise en œuvre de la régression softmax
- Machine de détection multicouche de 3,8
- 3.9 Implémentation de la machine de perception multicouche à partir de zéro
- 3.10 Implémentation simple de la machine de perception multicouche
- 3.11 Sélection, sous-ajustement du modèle et sur-ajustement
- 3.12 Déranges de poids
- 3.13 Méthode de rejet
- 3.14 Diagramme de propagation vers l'avant, de propagation du dos et de calcul
- 3.15 Stabilité numérique et initialisation du modèle
- 3.16 Concours réel de Kaggle: prévision des prix des maisons
- 4. Computing en profondeur
- 4.1 Construction du modèle
- 4.2 Accès, initialisation et partage des paramètres du modèle
- 4.3 Initialisation de retard des paramètres du modèle
- 4.4 Couche personnalisée
- 4.5 lecture et stockage
- 4.6 Computing GPU
- 5. Réseau neuronal convolutionnel
- 5.1 Couche de convolution bidimensionnelle
- 5.2 Remplir et fouler
- 5.3 canal multi-entrée et canal multi-points
- 5.4 Couche de mise en commun
- 5.5 Réseau neuronal convolutionnel (LENET)
- 5.6 Réseau neuronal convolutionnel profond (Alexnet)
- 5.7 Réseaux utilisant des éléments répétitifs (VGG)
- 5.8 Réseau du réseau (NIN)
- 5.9 Réseau avec connexion parallèle (Googlenet)
- 5.10 Normalisation par lots
- 5.11 Réseau résiduel (RESNET)
- 5.12 denset
- 6. Réseau neuronal récurrent
- 6.1 Modèle de langue
- 6.2 Réseau neuronal récurrent
- 6.3 Langue Model DataSet (Paroles de l'album de Jay Chou)
- 6.4 Implémentation de réseaux de neurones récurrents à partir de zéro
- 6.5 Implémentation simple du réseau neuronal récurrent
- 6.6 rétro-propagation dans le temps
- 6.7 Unité de circulation fermée (GRU)
- 6.8 Mémoire à court terme (LSTM)
- 6.9 Réseau neuronal récurrent profond
- 6.10 Réseau neuronal récurrent bidirectionnel
- 7. Algorithme d'optimisation
- 7.1 Optimisation et apprentissage en profondeur
- 7.2 Descente du gradient et descente de gradient stochastique
- 7.3 Small Batch Stochastic Gradient Descent
- 7.4 Méthode de momentum
- 7.5 Algorithme Adagrad
- Algorithme RMSProp 7.6
- 7.7 Algorithme Adadelta
- 7.8 Algorithme Adam
- 8. Performance informatique
- 8.1 Programmation hybride impérative et symbole
- 8.2 Calcul asynchrone
- 8.3 Computing parallèle automatique
- 8.4 Informatique multi-GPU
- 9. Vision informatique
- 9.1 Augmentation de l'image
- 9.2 ajustement fin
- 9.3 Détection d'objet et boîte de délimitation
- 9.4 Cadre d'ancrage
- 9.5 Détection cible à plusieurs échelles
- 9.6 ensemble de données de détection d'objets (Pikachu)
- 9.8 Series régionales du réseau neuronal convolutionnel (R-CNN)
- 9.9 Segmentation sémantique et ensembles de données
- 9.10 Réseau de convolution complet (FCN)
- 9.11 Migration de style
- 9.12 Competition pratique de Kaggle: Classification d'image (CIFAR-10)
- 9.13 Competition pratique de Kaggle: Identification des races de chiens (Imagenet Dogs)
- 10. Traitement du langage naturel
- 10.1 Incorporation du mot (Word2Vec)
- 10.2 Formation approximative
- 10.3 Implémentation de Word2Vec
- 10.4 Intégration de sous-mots (FastText)
- 10,5 Mot Incorporation de vecteurs mondiaux (gant)
- 10.6 Trouver des synonymes et des analogies
- 10.7 Classification des émotions de texte: utiliser des réseaux de neurones récurrents
- 10.8 Classification des émotions de texte: Utilisation du réseau neuronal convolutionnel (TextCNN)
- 10.9 Encodeur-décodeur (SEQ2SEQ)
- Recherche de 10.10 Bunch
- 10.11 Mécanisme d'attention
- 10.12 Traduction machine
- 11. Annexe
- 11.1 Liste des symboles principaux
- 11.2 Bases des mathématiques
- 11.3 Utilisation du cahier Jupyter
- 11.4 Exécuter du code en utilisant AWS
- Guide d'achat GPU 11.5 GPU
Mis à jour en continu ...
Adresse du livre original
Version chinoise: apprenez l'apprentissage en profondeur sur les mains | Référentiel GitHub
Version anglaise: plongez dans Deep Learning | GitHub Repo
Citation
Si vous avez utilisé ce projet dans votre recherche, veuillez citer le livre original:
@book{zhang2019dive,
title={Dive into Deep Learning},
author={Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola},
note={url{http://www.d2l.ai}},
year={2019}
}