charlesq34 / pointnet-autoencoder

Autoencoder for Point Clouds
Other
417 stars 85 forks source link

Run on a machine with a CPU only #6

Open mrquincle opened 5 years ago

mrquincle commented 5 years ago

Does it run using CPU rather than GPU?

I see there are _cpu specific files in https://github.com/charlesq34/pointnet-autoencoder/tree/master/tf_ops/nn_distance. So I guess the GPU dependency is not really necessary. However, the approxmatch directory seems to be GPU only?

It would be great to quickly iterate over new algorithms on a machine that does not support CUDA and after that switch to a machine with a GPU.

Colorfu1 commented 5 years ago

Have you found a version supports CPU?

mrquincle commented 5 years ago

Yes, on https://github.com/mrquincle/latent_3d_points I've used https://github.com/optas/latent_3d_points. At https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/ you see implementations for both CPU and GPU that work out of the box.

Peon26 commented 5 years ago

Hi @mrquincle , would you please explain what do you mean by "to iterate over new algorithms"?

It would be great to quickly iterate over new algorithms on a machine that does not support CUDA and after that switch to a machine with a GPU.

I would appreciate it if you could give an example.

mrquincle commented 5 years ago

I mean "to quickly test and adapt algorithms" on a machine that only has a CPU, so say 50 steps would be sufficient to see its behavior. Finally, when I'm done with algorithm design I run it on a system with a GPU to run up to 10.000 steps.

It's just an argument to also provide a CPU implementation for the poor people that have no GPU. :-)

mrquincle commented 5 years ago

However, I found CPU implementations, so you can close this issue.

MiniSkull commented 4 years ago

Yes, on https://github.com/mrquincle/latent_3d_points I've used https://github.com/optas/latent_3d_points. At https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/ you see implementations for both CPU and GPU that work out of the box.

HI! Can you tell me how to modify the makefile in the folder that a CPU implementation can be obtained?

Thanks! Best regards, Jin

mrquincle commented 4 years ago

Hi Jin. You'll have to extract it from https://github.com/optas/latent_3d_points/blob/master/external/structural_losses/approxmatch.cpp, create a shared lib, and call it from python. Sorry, it can be annoying indeed. :-)