When does the model transform string to int during training?

In train.py, there’s a function: train_model

And the first line of codes:
train_iter = make_train_data_iter(train_data, opt)

before this, list(train_data) only have string(original) dataset,
after this, list(train_iter) only have index(integer).

Tried to look into it, but couldn’t find where the codes dealing with it.