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

Chia lô request theo kích thước

Serving mô hình theo lô giúp tăng thông lượng, nhưng worker chỉ nhận được một kích thước

AICơ bản10 phút

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

Điểm và code bạn nộp đượ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ủ đề

batchinglistsentry-ramp

Kiến thức tiên quyết: python-basics, list-slicing.

Nội dung đề bài

Mô tả bài toán

Serving mô hình theo lô giúp tăng thông lượng, nhưng worker chỉ nhận được một kích thước lô tối đa. Bộ điều phối phải cắt danh sách request thành các lô liên tiếp: đầy batch_size request cho tới lô cuối, lô cuối có thể nhỏ hơn. Biết trước kích thước từng lô giúp worker cấp phát bộ nhớ vừa đủ.

Yêu cầu

Viết hàm batch_sizes(items, batch_size) trả về danh sách độ dài của các lô theo thứ tự, khi cắt items thành các lô liên tiếp, mỗi lô nhiều nhất batch_size phần tử.

Quy ước nộp bài

Nộp hàm batch_sizes trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị với sai số 1e-6; không đọc stdin và không in ra stdout.

Input

  • items: danh sách phần tử bất kỳ, độ dài từ 0 tới 20.
  • batch_size: kích thước lô tối đa, số nguyên dương.

Output

Danh sách số nguyên là độ dài từng lô. Danh sách rỗng khi items rỗng.

Ràng buộc

  • batch_size phải lớn hơn hoặc bằng 1; nếu không thì ném ValueError.
  • items rỗng thì trả về danh sách rỗng, không ném lỗi.
  • Chỉ quan tâm số phần tử, không quan tâm giá trị phần tử.

Ví dụ 1

Input

batch_sizes(items=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], batch_size=3)

Output

[3, 3, 3, 1]

Ví dụ 2

Input

batch_sizes(items=[0, 1, 2, 3, 4, 5], batch_size=3)

Output

[3, 3]

Giải thích

Với items = [0, 1, 2, 3, 4] và batch_size = 2, các lô là [0, 1], [2, 3], [4] nên kết quả là [2, 2, 1].

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.

Nhóm Zalo