Skip to content

Script to extract splat from trained checkpoints#23

Open
W-OK-E wants to merge 1 commit intonv-tlabs:mainfrom
W-OK-E:main
Open

Script to extract splat from trained checkpoints#23
W-OK-E wants to merge 1 commit intonv-tlabs:mainfrom
W-OK-E:main

Conversation

@W-OK-E
Copy link
Copy Markdown

@W-OK-E W-OK-E commented Jul 5, 2025

This is a simple script to extract and write the gaussian splat that the checkpoints contain

This is a simple script to extract and write the gaussian splat that the checkpoints contain
@Chaklader
Copy link
Copy Markdown

I tested this to convert a PT output file generated by Difix3D training to PLY, and it works perfectly. This is very helpful, Thanks!

@Cnd-Gabri
Copy link
Copy Markdown

I tested this to convert a PT output file generated by Difix3D training to PLY, and it works perfectly. This is very helpful, Thanks!

Is there any guide or advice to use this script. I've been having problems to follow the github and understand it.

@crazyzyz
Copy link
Copy Markdown

This is a simple script to extract and write the gaussian splat that the checkpoints contain

Hi, have you tested 3DGS? I have some confusion about the overall process. The original author didn't provide model.pkl. Could you please give me a general overview of the process, as well as the procedure for converting pt to ply? If you have the time, could you please give me a brief explanation of the process? It would be of great help to me!

@W-OK-E
Copy link
Copy Markdown
Author

W-OK-E commented Aug 11, 2025

I tested this to convert a PT output file generated by Difix3D training to PLY, and it works perfectly. This is very helpful, Thanks!

Is there any guide or advice to use this script. I've been having problems to follow the github and understand it.

Hey @Cnd-Gabri sorry for the late reply, so the steps are as follows:

  1. Once you have trained the difix model via gsplat by following the commands in the repo, a few checkpoints are saved at certain intervals like ckpt1999, ckpt2999.... and so on, the location they're saved depends on what you specify while training it.

  2. These checkpoints are not trained models, rather they contain all the parameters required to construct the Gaussian Splat for the particular scene you're working with, so to get the splat from a checkpoint(say ckpt29999) you run:

python3 ckpt2splat.py --checkpoint_path <path to the ckpt> --output_path /output/output.ply

I hope this helps feel free to ask you face any issues ahead. I think this answers @crazyzyz as well, or if not, please let me know.

@crazyzyz
Copy link
Copy Markdown

我对此进行了测试,将 Difix3D 训练生成的 PT 输出文件转换为 PLY,效果很好。这很有帮助,谢谢!

是否有任何使用此脚本的指南或建议。我一直在关注 github 并理解它时遇到问题。

哎,抱歉回复晚了,所以步骤如下:

  1. 一旦您按照存储库中的命令通过 gsplat 训练了 difix 模型,就会以一定的时间间隔保存一些检查点,例如 ckpt1999、ckpt2999......依此类推,它们的保存位置取决于您在训练时指定的内容。
  2. 这些检查点不是经过训练的模型,而是包含为你正在使用的特定场景构造高斯 Splat 所需的所有参数,因此要从检查点(比如 ckpt29999)获取 Splat,你运行:

python3 ckpt2splat.py --checkpoint_path <path to the ckpt> --output_path /output/output.ply
我希望这对您有所帮助,请随时询问您面临任何问题。我认为这也可以回答,或者如果没有,请告诉我。

After running src/train_difix.py, I only get .pkl files. Where do I get the input parameter CKPT_PATH=CKPT_DIR/${SCENE_ID}/ckpts/ckpt_29999_rank0.pt for python examples/gsplat/simple_trainer_difix3d.py? Where does the .pt file come from?

You could show me the versions of your torch, cuda, diffusers and xformers. Then I can give you a specific answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants