Ответ на вопрос с собеседования 💼
❶ 17 строка: не поставили параметр
❷ 14 и 20: использовали
❸ 32-35: не использовали
❹ 32-35: не перевели модель в
❺ 15 и 25-30: модель лежит на gpu, а датасет на cpu. Лучше всегда выносить параметр
❻ 35 строчка: забыли сделать
Также в комментариях заметили, что переменные epoch и features не определены, а epoch затирает себя в цикле — это было не по плану, но вы молодцы 🙂
Никто не написал ответ, который содержит в себе все наши пункты, поэтому первый победитель был выбран по меньшему числу упущенных пунктов. А также мы не смогли выбрать одного призера зрительских симпатий внутри команды, поэтому дарим3️⃣ пиццы!
Итак, наши победители, к которым отправляются пиццы:
🍕 @KalabiYauu — первый ответ со всего одним упущенным пунктом
🍕 @zen0no — приз зрительских симпатий, который совпал с нашим мнением и мнением подписчиков (судя по количеству реакций)
🍕 @Xallt — приз зрительских симпатий от нашей команды
❶ 17 строка: не поставили параметр
shuffle
в True
. Train loader нужно шафлить❷ 14 и 20: использовали
Softmax
+ CrossEntropyLoss
. Так делать не нужно, ведь CrossEntropyLoss
уже содержит в себе Softmax
. Поэтому мы убираем Softmax
из сетки. Можно почитать наш пост про лоссы, чтобы точно со всем разобраться 🙂❸ 32-35: не использовали
torch.no_grad
, а значит, отслеживали градиенты, что нам нужно только при обучении❹ 32-35: не перевели модель в
eval()
режим при подсчете метрик, поэтому неправильно посчитался BatchNorm1d
. Кстати, у нас есть об этом пост, а еще большой пост про виды нормализаций❺ 15 и 25-30: модель лежит на gpu, а датасет на cpu. Лучше всегда выносить параметр
device
, чтобы модель и данные всегда лежали на одном устройстве❻ 35 строчка: забыли сделать
detach().cpu()
. Из-за этого потечет памятьТакже в комментариях заметили, что переменные epoch и features не определены, а epoch затирает себя в цикле — это было не по плану, но вы молодцы 🙂
Никто не написал ответ, который содержит в себе все наши пункты, поэтому первый победитель был выбран по меньшему числу упущенных пунктов. А также мы не смогли выбрать одного призера зрительских симпатий внутри команды, поэтому дарим
Итак, наши победители, к которым отправляются пиццы:
🍕 @KalabiYauu — первый ответ со всего одним упущенным пунктом
🍕 @zen0no — приз зрительских симпатий, который совпал с нашим мнением и мнением подписчиков (судя по количеству реакций)
🍕 @Xallt — приз зрительских симпатий от нашей команды