ai-391Đọc toàn bộ đề miễn phí

train/eval và no_grad với Dropout

Phân biệt behavior train/eval của Dropout và tắt gradient khi chỉ đánh giá.

AITrung bình25 phút

Tiến độ của tôi ở bài này

Điểm được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

pytorchdropouttrain-evalno-grad

Kiến thức tiên quyết: Sequential MLP, activation, tensor requires grad.

Nội dung đề bài

Mục tiêu kiến thức

Phân biệt behavior train/eval của Dropout và tắt gradient khi chỉ đánh giá.

Mô tả bài toán

Đây là bài số 391 trong tầng PyTorch deep learning thực hành. Bài dùng thư viện Module.train, Module.eval, torch.no_grad, Dropout trên dữ liệu nhỏ, cố định và chạy CPU; mục tiêu là hiểu workflow chứ không bắt học viên tự viết lại thư viện.

Yêu cầu

Chạy cùng model hai lần ở train và eval, trả biết output có bằng nhau không, eval có requires_grad không.

def dropout_train_eval(X, dropout_probability):

Input

X batch số và dropout_probability.

Output

Dictionary train_equal, eval_equal, eval_requires_grad, eval_output.

Ràng buộc

Gọi model.train cho hai lần đầu, model.eval cho eval và dùng torch.no_grad.

Ví dụ

Giải thích

p=0.5 thường cho hai output train khác nhau nhưng eval lặp lại giống nhau.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Góp ý & báo lỗi bài tập

Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.