#14. Тонкая настройка и контроль процесса обучения через метод fit() | Tensorflow 2 уроки

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024

Комментарии • 22

  • @tsoer2976
    @tsoer2976 3 года назад +3

    Одно очень обидно, что приходилось все это самостоятельно пережевывать с плохим знание английского языка почти год назад. Где же вы были раньше)) Спасибо за уроки все по делу

  • @user-se4cl4xu1p
    @user-se4cl4xu1p 3 года назад +3

    Сергей, большое Вам спасибо за урок. Очень подробно все рассказано, но не все темы раскрыты. Во первых про балансировку выборок. Ни чего не сказано про балансировку выборок для задач регресси и о том как делать балансировку руками в принципе. Во вторых про калбэки. Например есть лямбда калбэки, которые упрощают написание калбэков, чтобы не городить класс. Не сказано про калбэки, которые управляют шагом обучения и пр., например визуализация во время обучения. В третьих, ну и коль мы говорим про настройку, ни чего не сказано про методы подбора гиперпараметров сети, про дообучения обученного, перенос обучения, заморозку весов и пр.

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Согласен, сложно объять необъятное )

    • @user-se4cl4xu1p
      @user-se4cl4xu1p 3 года назад

      @@selfedu_rus Сергей, подскажите пожалуйста, как получить значения параметра epochs метода модели fit в калбаке?

    • @selfedu_rus
      @selfedu_rus  3 года назад

      @@user-se4cl4xu1p Как вариант можно определить свой коллбэк на основе базового класса keras.callbacks.Callback и в дочернем классе переопределить метод def on_epoch_end(self, epoch, logs={}): ... В этом методе будет доступна переменная epoch. Подробнее здесь: ru-keras.com/callbacks/

    • @user-se4cl4xu1p
      @user-se4cl4xu1p 3 года назад

      @@selfedu_rus Сергей, вопрос был не про то, как узнать номер текущей эпохи (передаваемый параметр epoch указывает на номер текущей эпохи в on_epoch_end), а о том, как узнать о колличестве эпох из параметра epochs метода fit модели в калбаке. Я спрашивал об этом многих продвинутых людей, но ответа так и не получил. Например я пишу model.fit(x,y, epochs=5), как мне в on_epoch_begin узнать значение переменной epochs переданной в методе fit т.е. 5? PS: глобальные переменные запрещены.

    • @selfedu_rus
      @selfedu_rus  3 года назад

      @@user-se4cl4xu1p Понял. Это так на вскидку не скажу, надо искать, если есть вообще такая возможность.

  • @VijitCoder
    @VijitCoder Год назад +1

    Хотелось бы посмотреть на пример, где class_weight и sample_weight улучшают результат. Так не доходит, как именно этим пользоваться.
    Class_weight. Если данные подготовлены с заметным перевесом какого-то класса, ему вес нужно меньше задать или больше? Интуитивно - меньше насколько-то. Но на сколько? В текущем примере вес в 1000 раз увеличили, точность заметно упала. Но тогда зачем там float в весах, когда нужно в десятки раз вес менять, хватило бы integer.
    По sample_weight вообще не понял. Допустим, те же единицы и семерки похожи. И что именно я делаю, если задаю единицам больший вес? Как это поможет лучше отличать их от семерок?
    В общем, куча вопросов )

  • @alexeysavostin
    @alexeysavostin 3 года назад +2

    Спасибо! Отличная подача материала! Возможно ли уделить больше внимания работе с большими массивами обучающих данных, когда, например, весь массив не помещается в память?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

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

    • @alexeysavostin
      @alexeysavostin 3 года назад +1

      @@selfedu_rus Вот про это бы пример!

  • @thenikolyan
    @thenikolyan Год назад

    Хорош!

  • @WHGM-f5z
    @WHGM-f5z 3 года назад +1

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

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      конечно, в регрессии порядок важен, перемешивать можно только независимые наблюдения, чтобы нейросеть не "привыкала" к определенному порядку ))

  • @victorozhereliev2711
    @victorozhereliev2711 3 года назад +1

    Что такое размер батча? Для чего используется?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Если вам это неизвестно, то лучше сначала посмотрите плейлист по нейронным сетям на этом канале. Там все это подробно разъясняется!

  • @ІгорІванченко-э6е
    @ІгорІванченко-э6е 3 года назад +2

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

    • @mshumkin
      @mshumkin 3 года назад +3

      Так и должно быть. И это правильно.

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Этот материал для студентов. Здесь полнота знаний на первом месте!

    • @user-se4cl4xu1p
      @user-se4cl4xu1p 3 года назад

      @@selfedu_rus жаль конечно, что от tf мы все больше уходим в keras... про керас многое понятно, а вот tf вызывает много вопросов. Например как многие модели переписать с 1 tf на 2 tf...

    • @selfedu_rus
      @selfedu_rus  3 года назад

      @@user-se4cl4xu1p На официальном сайте есть конвертер с 1 версии во 2-ю. Как вариант можно воспользоваться.

    • @user-se4cl4xu1p
      @user-se4cl4xu1p 3 года назад

      @@selfedu_rus для сложных случаев не применимо.