Este projeto altera a implementação do código MXNET no livro original "Hand-on Deep Learning" para Tensorflow2. Depois que o tutor do Archersama consultou o professor Li Mu, a implementação deste projeto foi aprovada pelo professor Li Mu. Autores originais de livros: Aston Zhang, Li Mu, Zachary C. Lipton, Alexander J. Smora e outros colaboradores da comunidade, Github Endereço: https://github.com/d2l-ai/d2l-zh
Existem algumas diferenças nas versões chinesa e inglesa deste livro. Este projeto refatora principalmente o tensorflow2 para a versão chinesa deste livro. Além disso, este projeto também se refere ao projeto Dive-Into-DL-Pytorch que refatora Pytorch na versão chinesa deste livro, obrigado aqui.
Ele foi atualizado para dez capítulos e está sendo atualizado continuamente. . .
O projeto foi relatado por muitas contas públicas, como o Machine Heart e foi reconhecido pelo autor original Li Mu.
Introdução
Este repositório contém principalmente duas pastas: código e documentos (além de alguns dados são armazenados em dados). A pasta de código é o código de notebook Jupyter relevante para cada capítulo (baseado no tensorflow2); A pasta Docs é o conteúdo relevante no formato de marcação do livro "Hand-on Deep Learning" e, em seguida, use o DocSify para implantar o documento da Web nas páginas do GitHub. Como o livro original usa a estrutura do MXNET, o conteúdo do DOCS pode ser um pouco diferente do livro original, mas o conteúdo geral é o mesmo. As contribuições para este projeto ou edição são bem -vindas.
Para multidões
Este projeto é voltado para os sapatos infantis interessados em aprendizado profundo, especialmente aqueles que desejam usar o tensorflow2 para aprender profundo. Este projeto não exige que você tenha conhecimento de fundo de aprendizado profundo ou aprendizado de máquina. Você só precisa entender a matemática e a programação básicas, como álgebra linear básica, diferencial e probabilidade e programação básica do Python.
Como comer
Método 1
Esse repositório contém algumas fórmulas de látex, mas o nativo de marcação do Github não suporta exibição de fórmula, e a pasta Docs foi implantada nas páginas do GitHub usando o DocSify; portanto, a maneira mais fácil de visualizar o documento é acessar diretamente a versão da Web deste projeto . Obviamente, se você ainda deseja executar o código relevante, ainda precisará clonar o projeto e executar o código relevante na pasta Código.
Método 2
Você também pode acessar a documentação localmente e instalar docsify-cli primeiro:
Em seguida, clone o projeto localmente:
git clone https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0
cd Dive-into-DL-TensorFlow2.0
Em seguida, execute um servidor local, para que você possa acessar facilmente o efeito de renderização da web do documento em tempo real em http://localhost:3000 .
Colaboradores
Os patrocinadores e os principais colaboradores deste projeto são os seguintes
Archersama (líder) | Trickygo
| SwordFaith
| Shusentang
| Liangqingyuan
|
Índice
- Introdução
- Guia de leitura
- 1. Introdução ao aprendizado profundo
- 2. Conhecimento de preparação
- 2.1 Configuração do ambiente
- 2.2 Operação de dados
- 2.3 Encontre automaticamente gradientes
- 2.4 Verifique o documento
- 3. Noções básicas de aprendizado profundo
- 3.1 Regressão linear
- 3.2 Implementação de regressão linear do zero
- 3.3 Uma implementação concisa de regressão linear
- 3.4 Regressão Softmax
- 3.5 conjunto de dados de classificação de imagem (moda-mnist)
- 3.6 Implementação de regressão softmax do zero
- 3.7 Uma implementação simples de regressão softmax
- 3.8 Máquina de detecção de várias camadas
- 3.9 Implementação da máquina de percepção de várias camadas do zero
- 3.10 Implementação simples da máquina de percepção de várias camadas
- 3.11 Seleção de modelos, subjacência e excesso de ajuste
- 3.12 Decaimento do peso
- 3.13 Método de descarte
- 3.14 DIAGRAMAS DE PROPAGAÇÃO ADIME
- 3.15 Estabilidade numérica e inicialização do modelo
- 3.16 Concorrência real de Kaggle: Previsão de preços da casa
- 4. Computação de aprendizado profundo
- 4.1 Construção do modelo
- 4.2 Acesso, inicialização e compartilhamento de parâmetros do modelo
- 4.3 Atraso inicialização dos parâmetros do modelo
- 4.4 Camada personalizada
- 4.5 Leitura e armazenamento
- 4.6 Computação de GPU
- 5. Rede neural convolucional
- 5.1 Camada de convolução bidimensional
- 5.2 Preencher e avançar
- 5.3 canal de entrada múltipla e canal de saída múltipla
- 5.4 Camada de agrupamento
- 5.5 Rede Neural Convolucional (LENET)
- 5.6 Rede neural convolucional profunda (AlexNet)
- 5.7 Redes usando elementos repetidos (VGG)
- 5.8 Rede na rede (NIN)
- 5.9 Rede com conexão paralela (googlenet)
- 5.10 Normalização em lote
- 5.11 Rede residual (resnet)
- 5.12 Densenet
- 6. Rede neural recorrente
- 6.1 Modelo de idioma
- 6.2 Rede neural recorrente
- 6.3 conjunto de dados do modelo de idioma (letras do álbum de Jay Chou)
- 6.4 Implementação de redes neurais recorrentes do zero
- 6.5 Implementação simples de rede neural recorrente
- 6.6 Backpropagation ao longo do tempo
- 6.7 Unidade de circulação fechada (GRU)
- 6.8 Memória de curto prazo de longo prazo (LSTM)
- 6.9 Rede neural recorrente profunda
- 6.10 Rede neural recorrente bidirecional
- 7. Algoritmo de otimização
- 7.1 Otimização e aprendizado profundo
- 7.2 Descendência de gradiente e descida estocástica de gradiente
- 7.3 Descendência de gradiente estocástica de pequeno lote
- 7.4 Método de momento
- 7.5 Algoritmo Adagrad
- 7.6 Algoritmo RMSPROP
- 7.7 Algoritmo Adadelta
- 7.8 Algoritmo Adam
- 8. Desempenho computacional
- 8.1 Programação híbrida imperativa e de símbolo
- 8.2 Cálculo assíncrono
- 8.3 Computação paralela automática
- 8.4 Computação multi-GPU
- 9. Visão computacional
- 9.1 Aumento da imagem
- 9.2 ajuste fino
- 9.3 Detecção de objetos e caixa delimitadora
- 9.4 quadro de âncora
- 9.5 Detecção de alvo em várias escalas
- 9.6 conjunto de dados de detecção de objetos (Pikachu)
- 9.8 Série Regional Convolucional Neural (R-CNN)
- 9.9 Segmentação semântica e conjuntos de dados
- 9.10 Rede convolucional completa (FCN)
- 9.11 Migração de estilo
- 9.12 Competição prática de Kaggle: Classificação da imagem (CIFAR-10)
- 9.13 Competição prática de Kaggle: Identificação de raça de cães (cães imagenet)
- 10. Processamento de linguagem natural
- 10.1 Incorporação de palavras (Word2vec)
- 10.2 Treinamento aproximado
- 10.3 Implementação de Word2vec
- 10.4 Incorporação de subgletas (FastText)
- 10.5 Incorporação de palavras de vetores globais (luva)
- 10.6 Encontre sinônimos e analogias
- 10.7 Classificação de emoção de texto: Usando redes neurais recorrentes
- 10.8 Classificação da emoção de texto: Usando Rede Neural Convolucional (TextCNN)
- 10.9 Encoder-Decoder (SEQ2SEQ)
- 10.10 Pesquisa de grupo
- 10.11 mecanismo de atenção
- 10.12 Tradução da máquina
- 11. Apêndice
- 11.1 Lista de símbolos principais
- 11.2 Noções básicas de matemática
- 11.3 Usando o Jupyter Notebook
- 11.4 Execute o código usando AWS
- 11.5 Guia de compra da GPU
Atualizado continuamente ...
Endereço do livro original
Versão chinesa: Aprenda a aprendizagem profunda nas mãos | Repositório do GitHub
Versão em inglês: mergulhe em aprendizado profundo | Repo Github
Citar
Se você usou este projeto em sua pesquisa, cite o livro 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}
}