The model can be trained and inferenced successfully now: Set safe_serialization to False in model training file tutorial_train_plus.py:
accelerator.save_state(save_path, safe_serialization=False)
It will generate pytorch_model.bin instead of model.safetensors during training.
Once training is complete, modify the model conversion code as below based on the original instructions in readme:
ckpt = "pytorch_model.bin" # set correct path
sd = torch.load(ckpt)
Model file ip_adapter.bin will be generated for inference.