Новая версия, версия Ли Му «Практическое глубокое обучение» TF2.0 уже здесь.

глубокое обучение
Помните «Практическое глубокое обучение» г-на Ли Му? Недавно появился проект воспроизведения кода книги TF2.0.

Сердце машины организовано и приняло участие: Yiming.

Книга с открытым исходным кодом «Практическое глубокое обучение» Калифорнийского университета в Беркли Ли Му получила широкое признание с момента ее выпуска. Многие разработчики воспользовались содержанием книги и воспроизвели его с помощью различных сред глубокого обучения. Насколько известно Heart of the Machine, сейчас доступны версии MXnet (оригинальная) и PyTorch.

Недавно в книге «Learn Deep Learning by Hand» появилась новая повторяющаяся версия кода — TensorFlow 2.0. Этот проект попал в горячий список GitHub 9 декабря и за один день получил 100 звезд.



адрес проекта:GitHub.com/трюк с go/DI…

Автор проекта сообщил, что проект основан на обновлении и рефакторинге китайской версии книги, а в коде упоминается версия PyTorch. В настоящее время проект обновлен до главы 5 и продолжает обновляться.

Два основных автора этого проекта из Школы программного обеспечения и микроэлектроники Пекинского университета. Проект был утвержден самим г-ном Ли Му.


Как насчет «Практического обучения» в TF2.0?

Этот проект включает в себя две папки, code и doc. Где code сохраняет код в формате Jupyter, а doc — это файл книги в формате md. Поскольку в оригинальной книге используется MXnet, код и текст немного отличаются.

Отображение содержания книги

Учитывая, что формат md не очень хорошо отображает формулы, автор использовал docsify (https://docsify.js.org/#/zh-cn/) для переноса текста на страницы GitHub, и вы можете прочитать всю книгу как просмотр веб-страниц.

Отображаемый адрес веб-страницы:обмануть O.GitHub.IO/dive-into-D…

Судя по веб-странице, она была обновлена ​​до главы 5, но, учитывая, что это работа по рефакторингу кода, выполняемая небольшой командой, сделать так много не так-то просто.

Отображение кода

В книге код и текст перемежаются, поэтому вы можете написать код для воспроизведения во время чтения, а результаты можно проверить в любое время и в любом месте.


Взяв в качестве примера «Построение сети MLP», автор предлагает наиболее питонический способ воспроизведения — определить класс для модели и наследовать базовый класс tf.keras.Model. В коде TF2.0 это более безопасный подход.


Конечно, есть и такой более простой код реализации. В целом, код очень лаконичен и прост для понимания.

полный каталог книг

Как и в предыдущем введении к сердцу машины, здесь приводится каталог всей книги для справки читателей.

  • Введение

  • Читать руководство

  • 1. Введение в глубокое обучение

  • 2. Предварительные знания

  • 2.1 Конфигурация среды
  • 2.2 Манипуляции с данными
  • 2.3 Автоматический поиск градиентов
  • 2.4 Обратитесь к документации
  • 3. Основы глубокого обучения

  • 3.1 Линейная регрессия

  • 3.2 Реализация линейной регрессии с нуля

  • 3.3 Простая реализация линейной регрессии

  • 3.4 регрессия softmax

  • 3.5 Набор данных классификации изображений (Fashion-MNIST)

  • 3.6 Реализация регрессии softmax на основе Scratch

  • 3.7 Краткая реализация регрессии softmax

  • 3.8 Многослойный персептрон

  • 3.9 Реализация многослойного персептрона на нулях

  • 3.10 Краткая реализация многослойного персептрона

  • 3.11 Выбор модели, недообучение и переоснащение

  • 3.12 Распад веса

  • 3.13 Метод сброса

  • 3.14 Прямое распространение, обратное распространение и вычислительные графики

  • 3.15 Численная устойчивость и инициализация модели

  • 3.16 Фактический конкурс Kaggle: прогноз цен на жилье

  • 4. Глубокое обучение вычислений

  • 4.1 Построение модели

  • 4.2 Доступ, инициализация и совместное использование параметров модели

  • 4.3 Отложенная инициализация параметров модели

  • 4.4 Пользовательские слои

  • 4.5 Чтение и сохранение

  • 4.6 Вычисления на графическом процессоре

  • 5. Сверточные нейронные сети

  • 5.1 2D сверточный слой

  • 5.2 Отступы и шаг

  • 5.3 Несколько входных каналов и несколько выходных каналов

  • 5.4 Слой объединения

  • 5.5 Сверточные нейронные сети (LeNet)

  • 5.6 Глубокие сверточные нейронные сети (AlexNet)

  • 5.7 Сети, использующие повторяющиеся элементы (VGG)

  • 5.8 Сети в сетях (NiN)

  • 5.9 Сети с параллельными ссылками (GoogLeNet)

  • 5.10 Нормализация партии

  • 5.11 Остаточная сеть (ResNet)

  • 5.12 Плотно связанная сеть (DenseNet)

  • 6. Рекуррентные нейронные сети

  • 6.1 Языковая модель

  • 6.2 Рекуррентные нейронные сети

  • 6.3 Набор данных языковой модели (тексты альбома Джея Чоу)

  • 6.4 Реализация с нуля рекуррентной нейронной сети

  • 6.5. Краткая реализация рекуррентных нейронных сетей

  • 6.6 Обратное распространение во времени

  • 6.7 Закрытая рекуррентная установка (GRU)

  • 6.8 Долговременная кратковременная память (LSTM)

  • 6.9 Глубокие рекуррентные нейронные сети

  • 6.10 Двунаправленные рекуррентные нейронные сети

  • 7. Алгоритм оптимизации

  • 7.1 Оптимизация и глубокое обучение

  • 7.2 Градиентный спуск и стохастический градиентный спуск

  • 7.3 Мини-пакетный стохастический градиентный спуск

  • 7.4 Метод импульса

  • 7.5 Алгоритм АдаГрад

  • 7.6 Алгоритм RMSProp

  • 7.7 Алгоритм Ада-Дельта

  • 7.8 Алгоритм Адама

  • 8. Вычислительная производительность

  • 8.1 Смешанное императивное и символьное программирование

  • 8.2 Асинхронные вычисления

  • 8.3 Автоматические параллельные вычисления

  • 8.4 Вычисления с несколькими графическими процессорами

  • 9. Компьютерное зрение

  • 9.1 Увеличение изображения

  • 9.2 Тонкая настройка

  • 9.3 Обнаружение объектов и ограничивающие рамки

  • 9.4 Якорная коробка

  • 9.5 Многомасштабное обнаружение объектов

  • 9.6 Набор данных обнаружения объектов (Пикачу)

  • в ожидании обновления...

  • 10. Обработка естественного языка

  • 10.1 Вложения слов (word2vec)

  • 10.2 Примерное обучение

  • 10.3 Реализация word2vec

  • 10.4 Вложения подслов (fastText)

  • 10.5 Встраивание слов с глобальными векторами (GloVe)

  • 10.6 Поиск синонимов и аналогий

  • 10.7 Классификация тональности текста: использование рекуррентных нейронных сетей

  • 10.8 Классификация тональности текста: использование сверточных нейронных сетей (textCNN)

  • 10.9 Кодер-декодер (seq2seq)

  • 10.10 Поиск луча

  • 10.11 Механизм внимания

  • 10.12 Машинный перевод

Как использовать этот предмет

Во введении к проекту автор предлагает два метода использования: вы можете прочитать всю книгу и вспомогательный код с веб-страницы и воспроизвести его шаг за шагом. Конечно, есть и другой способ локального просмотра.

В частности, вам необходимо сначала установить инструмент docify-cli:

npm i docsify-cli -g
Затем клонируйте проект локально и войдите в каталог:
git clone https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0cd Dive-into-DL-TensorFlow2.0
Затем вы можете запустить локальный сервер, вы можете ввести http://localhost:3000 в своем браузере, и вы можете получить доступ к документу в режиме реального времени и увидеть эффект рендеринга.
docsify serve docs