Parameters disappear after setting require_grad = True

Yes, seems to be the expected behavior:

model models.resnet18()
trainable_params = model.parameters()
print('num of parameter list1:', len(list(trainable_params)))
# num of parameter list1: 62
print('num of parameter list1:', len(list(trainable_params)))
# num of parameter list1: 0

a = [0, 1, 2]
a_iter = iter(a)
print(len(list(a_iter)))
# 3
print(len(list(a_iter)))
# 0