Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Custom Data Loader for Deep Learning

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Custom Data Loader for Deep Learning. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

DataArt's machine learning delivery pipelines need a lightweight custom data loader for in-memory training records. Implement a function that creates mini-batches, optionally shuffles records reproducibly, and optionally removes the final incomplete batch.

Formal Specification

Given a list records, return a list of batches. Each batch is a list containing at most batch_size records. When shuffle is True, use a local pseudo-random generator initialized with seed, so the same inputs always produce the same ordering. Do not mutate records or its contained records. When drop_last is True, omit any batch with fewer than batch_size records.

The function signature is:

def create_batches(records, batch_size, shuffle, seed, drop_last):

Constraints

  • 0 <= len(records) <= 10^5
  • 1 <= batch_size <= 10^4
  • Records may be any Python values, including dictionaries or tuples
  • seed is an integer
  • The input list and contained records must not be modified

Function Signature

def create_batches(records, batch_size, shuffle, seed, drop_last):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output