eigenvivek / DiffPose

[CVPR 2024] Intraoperative 2D/3D registration via differentiable X-ray rendering
http://vivekg.dev/DiffPose/
MIT License
112 stars 12 forks source link

About train.py - parameterization #22

Closed ryukyungjoon closed 4 months ago

ryukyungjoon commented 5 months ago

Dear Vivek,

Thank you for the help with my previous questions regarding train.py. I have one more question about it. Q. In a scenario where multi-processing is not possible due to hardware limitations and training needs to be done with only 1 GPU, how can the training be performed?

This is how I proceeded: image

parameterizations = [ "se3_log_map", "so3_log_map", "axis_angle", "euler_angles", "quaternion", "rotation_6d", "rotation_10d", "quaternion_adjugate", ]

Should I pass these parameters to the main() function with a for loop and train them sequentially? The essence of the question is how to overcome the situation when hardware specifications do not allow multi-processing.

And, What is mean each parameterization item.

Thank you in advance for your response.

eigenvivek commented 4 months ago

hi @ryukyungjoon , you don't need one model for each parameterization. in diffpose, we just train using se3_log_map. the parameterizations are tested when running test-time optimization. the multiprocessing here is used to train a separate model for each subject in parallel on multiple GPUs.