griegler/octnet

Error in CPU execution of 01_classification_modelnet

siddharthm28 opened this issue · 3 comments

Hi, Firstly thanks for the prompt reply regarding the previous issue. I subsequently tried running the code in examples/01_classification_modelnet and I got this error:

~/octnet/distro/install/bin/luajit: ...hesis/octnet/distro/install/share/lua/5.1/trepl/init.lua:389: module 'cunn' not found:No LuaRocks module found for cunn
        no field package.preload['cunn']
        no file '../../th/cunn/init.lua'
        no file '~/.luarocks/share/lua/5.1/cunn.lua'
        no file '~/.luarocks/share/lua/5.1/cunn/init.lua'
        no file '~/thesis/octnet/distro/install/share/lua/5.1/cunn.lua'
        no file '~/thesis/octnet/distro/install/share/lua/5.1/cunn/init.lua'
        no file './cunn.lua'
        no file '~/thesis/octnet/distro/install/share/luajit-2.1.0-beta1/cunn.lua'
        no file '/usr/local/share/lua/5.1/cunn.lua'
        no file '/usr/local/share/lua/5.1/cunn/init.lua'
        no file '/cis/home/msid/.luarocks/lib/lua/5.1/cunn.so'
        no file '/cis/home/msid/thesis/octnet/distro/install/lib/lua/5.1/cunn.so'
        no file '/cis/home/msid/thesis/octnet/distro/install/lib/cunn.so'
        no file './cunn.so'
        no file '/usr/local/lib/lua/5.1/cunn.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
        [C]: in function 'error'
        ...hesis/octnet/distro/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
        train_mn10_r64.lua:5: in main chunk
        [C]: in function 'dofile'
        ...net/distro/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
        [C]: at 0x00406670

I don't know LUA but from what I understand, this error is coming either when it's loading a gpu model on a cpu machine or from the require('cunn') statement. I also see some :add( cudnn.xxxx) statements which require gpu version ? I guess my request is, can you make a cpu-only version of this code and a gpu version ? Thanks in advance !

The example requires the lua packages cunn and cudnn (and therefore also CUDA, and cudnn on your platform). If you look at th/oc/OctreeConvolutionMM.lua you will notice that the implementation for cpu is missing.
That said, you might still be able to run the example if you remove all the require('cunn'), and require('cudnn'), replace all :cuda() with :float(), and replace oc.OctreeConvolutionMM with oc.OctreeConvolution3x3x3.

Okay. Will it be possible to share the learnt model separately ? I'm personally more interested in using the learnt model for some other things rather than learning the model again. Also, maybe add a statement in the examples saying this code needs a gpu, so that future users don't have the same issue ? You can close this issue when you want. Thanks !

Hi, I wanted to comment and let you know that the GPU version works fine out the box without any problems. I had to wait for my sysadmin to install some dependencies and I was able to do everything smoothly after that. Thanks and looking forward to playing with your code/research !