Я только что сдал экзамен на сертификат разработчика TensorFlow сегодня! Я первый, кто получил этот сертификат на моей родине, в Иордании. Это был один из самых захватывающих переживаний, которые я когда-либо испытывал со времен колледжа! Поэтому я хотел бы поделиться с вами, как я это сделал и как вы тоже можете это сделать.

Я хотел бы начать с объяснения того, что означает «НОЛЬ» в этом контексте. Это означает, что у вас нет опыта машинного обучения (ML)! Вы можете получить представление об этом из статьи, ускоренного курса, о котором вы забыли два дня спустя, или из интервью с Илоном Маском где-то в Интернете!

У меня около семи лет опыта разработки программного обеспечения. Перед тем, как я готовлюсь к этому экзамену, я познакомился с этой темой только через пару занятий по ИИ и нейронным сетям во время учебы в аспирантуре. Я также прошел несколько бесплатных курсов по Python, предназначенных для анализа данных и машинного обучения (IBM Cognitive Class). Однако еще два месяца назад я понятия не имел, как я буду создавать и обучать модель машинного обучения с помощью TensorFlow (TF). Это НУЛЕВАЯ часть, и я упомянул об этом, чтобы вы знали, насколько можно прогрессировать за пару месяцев по сравнению с тем, где я стоял, когда начинал это путешествие познания.

Мы не будем углубляться в сам сертификат, потому что вы можете получить всю необходимую информацию здесь: www.tensorflow.org/certificate. Здесь вы найдете советы, подходы и КАК это сделать. Итак, давайте погрузимся в это:

Примечание. Некоторые из этих советов не будут иметь смысла, пока вы не закончите подготовку к экзамену ... если у вас нет опыта работы с TF.

Первый совет: прочтите документацию еще раз, и еще раз ... ОНЛАЙН

Внимательно и более одного раза прочтите соответствующие документы из указанного выше источника (начиная с Справочника кандидата). Убедитесь, что вы в последний раз читаете их снова ОНЛАЙН (после очистки кеша браузера) и ПЕРЕД началом экзамена. Я что, утрирую ?? Нет я не.

Между моментом оплаты экзамена и его настройкой (два дня) были добавлены / изменены новые важные требования! Ты можешь в это поверить? Если бы я не подумал о такой возможности за минуту до того, как нажал кнопку «Начать экзамен», я бы не писал эту статью сегодня.

Второй совет: освоите «Numpy»… в PyCharm IDE

Вам не нужно быть гуру Python. Однако вам нужно хорошо знать Python. Если вы продолжаете выходить в Интернет, чтобы разобраться в простых вещах, например, как создать список, цикл for и т. Д., Тогда вам понадобится ускоренный курс по python. Что еще более важно, постарайтесь стать экспертом по «Numpy», потому что это очень важно в области ML, независимо от того, используется ли TF или что-то еще. Вы не пожалеете, что освоили его. Поверьте мне.

Третий совет: изучайте только эти ДВА ресурса…

Есть много ресурсов. Вы увидите множество статей, написанных теми, кто сдал сертификационный экзамен, накопив столько ресурсов! Понятия не имею почему. Несмотря на то, что я действительно потратил (я бы не сказал, что тратил впустую) много времени в эти ресурсы, я могу сказать вам, что после того, как весь пух исчез, все сводится к двум основным ресурсам:
1. Введение в TensorFlow для глубокого обучения @ Udacity (начните сначала здесь)
2. Практическая специализация TensorFlow @ Coursera
Потребуются ли вам другие ресурсы? Скорее всего, да! Но приведенные выше - единственные источники, которым вам нужно следовать от начала до конца. Все остальное просто заполняет пробелы здесь и там. например Я нашел первые две главы Части 2 (главы 10 и 11) из книги Орелиен Жерон очень полезными.

Совет четвертый: вы можете получить все это БЕСПЛАТНО ... ну, почти!

Вы можете получить бесплатную полную регистрацию на все курсы специализации Coursera, версию PyCharm IDE Professional (у меня был продлен оценочный период еще на 3 месяца), 50% скидку на плату за экзамен. Курс Udacity уже бесплатный.
Как это сделать? Зайдите на страницу Образовательная стипендия TF и заполните форму, все очень просто!
И еще кое-что: эта стипендия предназначена для тех, кто действительно в ней нуждается. Сделать знания доступными для всех. ПОЖАЛУЙСТА, не занимайте чье-либо место, если вы можете себе это позволить.

Совет пятый: не обязательно все запоминать… мы никогда не запоминаем!

В соответствии с инструкциями по экзамену вы можете использовать любые ресурсы, которые могут быть у вас на работе. Я практиковал все записные книжки, с которыми сталкивался в Интернете, в PyCharm IDE на моем локальном компьютере, и они были чрезвычайно полезны во время экзамена. Это сэкономило много времени на двойной проверке моих фрагментов кода.

Шестой совет: сохраняйте свою модель «эффективно»

Во время подготовки важно попрактиковаться в эффективном сохранении модели: компактной, простой, но в то же время точной. Здесь мне помогли четыре вещи:
1. Используйте обратный вызов EarlyStopping () keras (с restore_best_weights = True), чтобы остановить тренировку до переобучения, сохраняя при этом лучшие веса на данный момент.

2. Используйте обратный вызов ModelCheckpoint () keras (с save_best_only = True), чтобы сохранить копию вашей модели, когда она станет лучше.

3. Используйте параметр include_optimizer = False в инструкции keras.models.save_model (или model.save), чтобы уменьшить размер модели. Мне удалось уменьшить размер моей модели с ~ 300 МБ до ~ 41 МБ, что мне очень помогло во время экзамена (учитывая мою плохую скорость загрузки 1 Мбит / с!)

4. Во время изучения сначала попытайтесь найти максимальную точность, которую может получить ваша модель. (Даа!) Затем стремитесь к той же точности, используя меньшее количество / более простых слоев, более быстрый оптимизатор (например, «RMSprop» тяжелее и медленнее, чем «Adam») и / или меньшее количество эпох.

Совет седьмой: если повезет, можно обойтись и без графического процессора!

Я сдал экзамен без использования графического процессора для моего TF. Однако у этого был побочный эффект:
На сдачу экзамена у меня ушло 4,5 часа. (у вас будет 5 часов), что может быть очень напряженным и рискованным, если вам нужно будет внести дополнительные изменения в последние… 30 минут!
Итак, приготовьте, например, блокнот Google Colab, готовый сбоку, если вы этого не сделаете. t иметь достаточно вычислительных мощностей (cc) на графическом процессоре вашего локального компьютера. У меня было 5.0 куб.см, а максимальная поддерживаемая версия TF была TF2.2, что меньше требуемой версии 2.3. Я очень сомневаюсь, что вам нужна онлайн-виртуальная машина или даже плата за Colab Pro. Бесплатного Google Colab должно хватить (судя по тестам во время подготовки), а я даже не использовал его во время экзамена.

На подготовку к экзамену у меня ушло 9 недель, в среднем ~ 35 часов в неделю. Но все разные. Думаю, я мог бы подготовиться к экзамену раньше, если бы меня не отвлекало столько ресурсов, упомянутых в онлайн-статьях.
Сложность экзамена определенно зависит от того, насколько хорошо вы подготовлены. Однако, хотя я думал, что очень хорошо подготовился к нему, я на самом деле узнал пару новых вещей во время самого экзамена!
Мне понравилось, что это был богатый опыт обучения, вплоть до последнего шага!

Спасибо…

На пути к получению этого сертификата мне очень помогли. И я благодарю всех, кто мне помогал и поддерживал. Если вы найдете эту статью полезной, поделитесь ею, чтобы другие тоже могли извлечь из нее пользу.