Кликните здесь для Китайской версии (中文版)
《10天吃掉那只pyspark》
《20天吃掉那只Pytorch》
《30天吃掉那只TensorFlow2》
С ускоренным каналом
Заключение:
Для инженеров приоритет отдаётся TensorFlow2.
Для студентов и исследователей первым выбором должен быть Pytorch.
Лучший способ — овладеть ими обоими, если есть достаточно времени.
Причины:
Заключение:
Keras будет прекращён в разработке после версии 2.3.0, поэтому используйте tf.keras.
Keras — это высокоуровневый API для фреймворков глубокого обучения. Он помогает пользователям определять и обучать сети DL более интуитивно понятным способом.
Библиотеки Keras, установленные через pip, реализуют этот высокоуровневый API для бэкендов в tensorflow, theano, CNTK и т. д.
tf.keras — это высокоуровневый API только для Tensorflow, основанный на низкоуровневых API в Tensorflow.
Большинство, но не все функции в tf.keras совпадают с функциями в Keras (который совместим со многими видами бэкенда). tf.keras имеет более тесную комбинацию с TensorFlow по сравнению с Keras.
После приобретения Google Keras не будет обновляться после версии 2.3.0, таким образом, пользователи должны использовать tf.keras с этого момента вместо использования Keras, установленного через pip.
Читателям предлагается ознакомиться с фундаментальными знаниями машинного/глубокого обучения и опытом моделирования с использованием Keras или TensorFlow 1.0.
Тем, у кого нет опыта машинного/глубокого обучения, настоятельно рекомендуется обратиться к «Глубокому обучению с Python» наряду с чтением этой книги.
«Глубокое обучение с Python» написано Франсуа Шолле, изобретателем Keras. Эта книга основана на Keras и не требует от читателя предварительных знаний в области машинного обучения.
«Глубокое обучение с Python» легко понять, поскольку в нём используются различные примеры для демонстрации. В этой книге нет математических уравнений, поскольку она направлена на развитие интуитивного понимания глубокого обучения.
Это Введение
Справочное пособие, чрезвычайно дружественное к человеку.
Самая низкая цель авторов — не сдаваться из-за трудностей, в то время как «Не позволяйте читателям думать» — высшая цель.
Эта книга в основном основана на официальных документах TensorFlow вместе с его функциями. Однако авторы внесли тщательную реструктуризацию и множество оптимизаций в демонстрации.
Она отличается от официальных документов, которые представляют собой беспорядочный набор руководств и инструкций без систематической логики. Наша книга перерабатывает содержание с учётом трудностей, поисковых привычек читателей и архитектуры TensorFlow. Теперь мы делаем её последовательной для изучения TensorFlow с чётким путём и лёгким доступом к соответствующим примерам.
В отличие от подробного демонстрационного кода, авторы этой книги стараются минимизировать длину примеров, чтобы облегчить чтение и реализацию. Более того, большинство ячеек кода можно мгновенно использовать в вашем проекте.
Учитывая уровень сложности 9 при изучении Tensorflow по официальным документам, он был бы снижен до 3 при обучении по этой книге.
Это различие в трудностях можно продемонстрировать на следующем рисунке:
[Картинка не добавлена]
(1) Учебный план
Авторы написали эту книгу, используя свободное время, особенно двухмесячный неожиданный «отпуск» из-за COVID-19. Большинство читателей должны быть в состоянии полностью освоить всё содержание в течение 30 дней.
Время, необходимое каждый день, будет составлять от 30 минут до 2 часов.
Эту книгу также можно использовать в качестве библиотечных примеров для консультаций при реализации проектов машинного обучения с использованием TensorFlow2.
Нажмите на синие подписи, чтобы перейти к соответствующей главе.
Дата | Содержание | Трудности | Примерное время | Статус обновления |
---|---|---|---|---|
Глава 1: Процедура моделирования TensorFlow | ⭐️ | 0 часов | ✅ | |
День 1 | 1-1 Пример: процедура моделирования структурированных данных | ⭐️⭐️⭐️ | 1 час | ✅ |
День 2 | 1-2 Пример: процедура моделирования изображений | ⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 3 | 1-3 Пример: процедура моделирования текстов | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 4 | 1-4 Пример: процедура моделирования временных последовательностей | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
Глава 2: Ключевые концепции TensorFlow | ⭐️ | 0 часов | ✅ | |
День 5 | 2-1 Структура данных тензора | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 6 | 2-2 Три типа графиков | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 7 | 2-3 Автоматическое дифференцирование | ⭐️⭐️⭐️ | 1 час | ✅ |
Глава 3: Иерархия TensorFlow | ⭐️ | 0 часов | ✅ | |
День 8 | 3-1 Низкоуровневый API: демонстрация | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 9 | 3-2 Среднеуровневый API: демонстрация | ⭐️⭐️⭐️ | 1 час | ✅ |
День 10 | 3-3 Высокоуровневый API: демонстрация | ⭐️⭐️⭐️ | 1 час | ✅ |
Глава 4: Низкоуровневый API в TensorFlow | ⭐️ | 0 часов | ✅ | |
День 11 | 4-1 Структурные операции тензора | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 12 | 4-2 Математические операции тензора | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 13 | 4-3 Правила использования AutoGraph | ⭐️⭐️⭐️ | 0,5 часа | ✅ |
День 14 | 4-4 Механизмы AutoGraph | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 15 | 4-5 AutoGraph и tf.Module | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
:---- | :---- | :-----: | :------: | :-----: |
16 | [5-1 Dataset] | ⭐️⭐️⭐️⭐️⭐️ | 2 | ✅ |
17 | [5-2 feature_column] | ⭐️⭐️⭐️⭐️ | 1 | ✅ |
18 | [5-3 activation] | ⭐️⭐️⭐️ | 0,5 | ✅ |
19 | [5-4 layers] | ⭐️⭐️⭐️ | 1 | ✅ |
20 | [5-5 losses] | ⭐️⭐️⭐️ | 1 | ✅ |
21 | [5-6 metrics] | ⭐️⭐️⭐️ | 1 | ✅ |
22 | [5-7 optimizers] | ⭐️⭐️⭐️ | 0,5 | ✅ |
23 | [5-8 callbacks] | ⭐️⭐️⭐️⭐️ | 1 | ✅ |
Глава 6: High-level API in TensorFlow | ⭐️ | 0 | ✅ | |
24 | [6-1 Three Ways of Modeling] | ⭐️⭐️⭐️ | 1 | ✅ |
25 | [6-2 Three Ways of Training] | ⭐️⭐️⭐️⭐️ | 1 | ✅ |
26 | [6-3 Model Training Using Single GPU] | ⭐️⭐️ | 0,5 | ✅ |
27 | [6-4 Model Training Using Multiple GPUs] | ⭐️⭐️ | 0,5 | ✅ |
28 | [6-5 Model Training Using TPU] | ⭐️⭐️ | 0,5 | ✅ |
29 | [6-6 Model Deploying Using tensorflow-serving] | ⭐️⭐️⭐️⭐️ | 1 | ✅ |
30 | [6-7 Call Tensorflow Model Using spark-scala] | ⭐️⭐️⭐️⭐️⭐️ | 2 | ✅ |
[Epilogue: A Story Between a Foodie and Cuisine] | ⭐️ | 0 |
Программная среда для обучения
Все исходные коды протестированы в jupyter. Рекомендуется клонировать репозиторий на локальный компьютер и запускать их в jupyter для интерактивного обучения.
Авторы предлагают установить jupytext, который преобразует файлы markdown в ipynb, чтобы читатели могли открывать файлы markdown непосредственно в jupyter.
#Для читателей из материкового Китая использование gitee позволит клонировать с большей скоростью
#!git clone https://gitee.com/Python_Ai_Road/eat_tensorflow2_in_30_days
#Рекомендуется установить jupytext для преобразования и запуска файлов markdown как ipynb.
#!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U jupytext
#Также рекомендуется установить последнюю версию TensorFlow, чтобы протестировать демонстрационный код в этой книге
#!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U tensorflow
import tensorflow as tf
#Примечание: все коды протестированы под TensorFlow 2.1
tf.print("версия tensorflow:",tf.__version__)
a = tf.constant("привет")
b = tf.constant("tensorflow2")
c = tf.strings.join([a,b]," ")
tf.print(c)
версия tensorflow: 2.1.0
привет tensorflow2
Если вы считаете эту книгу полезной и хотите поддержать автора, пожалуйста, поставьте ⭐ этому репозиторию и не забудьте поделиться им с друзьями 😊
Пожалуйста, оставляйте комментарии в официальном аккаунте WeChat «Алгоритм и кухня» (Machine Learning cook house), если вы хотите пообщаться с автором о содержании. Автор постарается ответить, учитывая ограниченное время.

📚 Адрес gitbook электронной книги: https://lyhue1991.github.io/eat_tensorflow2_in_30_days 🚀 Адрес проекта на github: https://github.com/lyhue1991/eat_tensorflow2_in_30_days 🐳 Адрес колонки на kesci: https://www.kesci.com/home/column/5d8ef3c3037db3002d3aa3a0
Быстрый канал
Сначала выводы:
Если вы инженер, то лучше выбрать TensorFlow2.
Если вы студент или исследователь, то лучше предпочесть Pytorch.
Если у вас достаточно времени, лучше изучить и освоить TensorFlow2 и Pytorch.
Причины следующие:
В промышленности самое важное — это развёртывание моделей, большинство интернет-компаний в Китае поддерживают только онлайн-развёртывание моделей TensorFlow, а не Pytorch. И в промышленности больше внимания уделяется высокой доступности моделей, часто используются зрелые модели, потребности в отладке невелики.
Для исследователей самое важное — быстро повторять и публиковать статьи, нужно пробовать новые модели. А Pytorch удобнее в использовании и отладке по сравнению с TensorFlow2. И с 2019 года в академических кругах он занял большую часть территории, и соответствующих новейших результатов исследований можно найти больше.
TensorFlow 2 и Pytorch на самом деле имеют очень похожий стиль в целом, выучить один после освоения другого будет проще. Если освоить оба фреймворка, то можно будет ссылаться на большее количество примеров открытых моделей, а также удобно переключаться между двумя фреймворками.
Два, Keras🍏 и tf.keras 🍎
Сначала выводы:
Библиотека Keras в версии 2.3.0 и далее обновляться не будет, пользователям следует использовать tf.keras.
Keras можно рассматривать как высокоуровневый интерфейс для фреймворков глубокого обучения, который помогает пользователям определять и обучать глубокие нейронные сети в более краткой форме.
Библиотека Keras, установленная через pip, была реализована на основе высокоуровневого интерфейса на таких бэкендах, как tensorflow, theano, CNTK и т. д.
А tf.keras реализован на основе низкоуровневого API TensorFlow как его субмодуль.
Большинство функций tf.keras и совместимость с Keras-библиотекой, поддерживающей различные бэкенды, абсолютно одинаковы, но не все, его связь с TensorFlow более тесная.
После приобретения Keras компанией Google библиотека Keras не будет обновляться после версии 2.3.0, пользователи должны использовать tf.keras вместо установки Keras через pip.
Три, эта книга 📖 ориентирована на читателей 👼
Предполагается, что у читателей этой книги есть определённые основы машинного и глубокого обучения, они использовали Keras или Tensorflow 1.0 или создавали модели после обучения в Pytorch.
Для тех, у кого нет никаких основ машинного и глубокого обучения, рекомендуется одновременно обращаться к книге «Глубокое обучение Python» во время изучения этого учебника.
Книга «Глубокое обучение Python», написанная отцом Keras Франсуа Шолле, предполагает, что читатели не обладают знаниями машинного обучения, используя Keras в качестве инструмента,
демонстрирует лучшие практики глубокого обучения на богатом наборе примеров, книга проста для понимания, во всей книге нет ни одной математической формулы, акцент делается на развитии интуиции глубокого обучения у читателей.
Четыре, стиль этой книги 🍉
Эта книга — чрезвычайно дружелюбный учебник по TensorFlow 2.0 для пользователей-людей, не пытаться запутать читателя — это минимальное требование этой книги, Don't let me think — высшая цель этой книги.
Эта книга в основном написана на основе официальных документов TensorFlow и документации функций.
Но в этой книге было сделано много оптимизаций в структуре глав и выборе примеров.
В отличие от официальной документации с её беспорядочной структурой глав, которая содержит как учебные пособия, так и руководства, и ей не хватает общей логики организации.
Эта книга разработана с учётом уровня сложности содержания, привычек поиска читателей и собственной иерархии TensorFlow, она продвигается постепенно, имеет чёткую структуру и позволяет легко находить соответствующие примеры по функциям.
В отличие от длинных примеров кода в официальной документации, в дизайне примеров в этой книге максимально упрощён и структурирован, чтобы повысить удобочитаемость и универсальность примеров, большинство фрагментов кода готовы к использованию в практике.
Если сказать, что сложность освоения TensorFlow 2.0 при изучении официальной документации TensorFlow примерно равна 9, то при изучении этой книги сложность освоения TensorFlow 2.0 должна быть примерно равна 3.
Пожалуйста, посмотрите на сравнение официального руководства TensorFlow и этого руководства ниже.
Пять, план изучения этой книги ⏰
1, План обучения
Эта книга была написана автором примерно за два месяца в свободное от работы время и во время отпуска по случаю эпидемии, и большинство читателей должны полностью освоить её за 30 дней.
Предполагаемое ежедневное время обучения составляет от 30 минут до 2 часов.
Конечно, эта книга также очень подходит в качестве справочника с примерами для инженеров при использовании TensorFlow в проектах.
Вы можете перейти в соответствующий раздел, нажав на синий заголовок содержания.
Дата | Изучаемый контент | Сложность контента | Предполагаемое время обучения | Статус обновления |
---|---|---|---|---|
[Один, процесс моделирования TensorFlow](./один, процесс моделирования TensorFlow.md) | ⭐️ | 0 часов | ✅ | |
День 1 | [1-1, пример процесса моделирования структурированных данных](./1-1, пример процесса моделирования структурированных данных.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
День 2 | [1-2, пример процесса моделирования данных изображений](./1-2, пример процесса моделирования данных изображений.md) | ⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 3 | [1-3, пример процесса моделирования текстовых данных](./1-3, пример процесса моделирования текстовых данных.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 4 | [1-4, пример процесса моделирования временных рядов данных](./1-4, пример процесса моделирования временных рядов данных.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
[Два, основные понятия TensorFlow](./два, основные понятия TensorFlow.md) | ⭐️ | 0 часов | ✅ | |
День 5 | [2-1, структура данных тензора](./2-1, структура данных тензора.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 6 | [2-2, три типа вычислительных графов](./2-2, три типа вычислительных графов.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 7 | [2-3, механизм автоматического дифференцирования](./2-3, механизм автоматического дифференцирования.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
[Три, иерархическая структура TensorFlow](./три, иерархическая структура TensorFlow.md) | ⭐️ | 0 часов | ✅ | |
День 8 | [3-1, демонстрация низкоуровневого API](./3-1, демонстрация низкоуровневого API.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 9 | [3-2, демонстрация среднего уровня API](./3-2, демонстрация среднего уровня API.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
День 10 | [3-3, демонстрация высокоуровневого API](./3-3, демонстрация высокоуровневого API.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
[Четыре, низкоуровневый API TensorFlow](./четыре, низкоуровневый API TensorFlow.md) | ⭐️ | 0 часов | ✅ | |
День 11 | [4-1, операции над структурой тензоров](./4-1, операции над структурой тензоров.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 12 | [4-2, математические операции над тензорами](./4-2, математические операции над тензорами.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 13 | [4-3, использование AutoGraph](./4-3, использование AutoGraph.md) | ⭐️⭐️⭐️ | 0,5 часа | ✅ |
День 14 | [4-4, принцип работы AutoGraph](./4-4, принцип работы AutoGraph.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 15 | [4-5, AutoGraph и tf.Module](./4-5, AutoGraph и tf.Module.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
[Пять, средний уровень API TensorFlow](./пять, средний уровень API TensorFlow.md) | ⭐️ | 0 часов | ✅ | |
День 16 | [5-1, набор данных DataSet](./5-1, набор данных DataSet.md) | ⭐️⭐️⭐️⭐️⭐️ | 2 часа | ✅ |
День 17 | [5-2, столбец признаков feature_column](./5-2, столбец признаков feature_column.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
День 18 | [5-3, функция активации activation](./5-3, функция активации activation.md) | ⭐️⭐️⭐️ | 0,5 часа | ✅ |
День 19 | [5-4, слои модели layers](./5-4, слои модели layers.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
День 20 | [5-5, функции потерь losses](./5-5, функции потерь losses.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
День 21 | [5-6, метрики оценки metrics](./5-6, метрики оценки metrics.md) | ⭐️⭐️⭐️ | 1 час | ✅ |
День 22 | [5-7, оптимизаторы optimizers](./5-7, оптимизаторы optimizers.md) | ⭐️⭐️⭐️ | 0,5 часа | ✅ |
День 23 | [5-8, обратные вызовы callbacks](./5-8, обратные вызовы callbacks.md) | ⭐️⭐️⭐️⭐️ | 1 час | ✅ |
[Шесть, высокоуровневый API TensorFlow](./шесть, высокоуровневый API TensorFlow.md) | ⭐️ | 0 часов | ✅ |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )