kmul00 / torch-vol Goto Github PK
View Code? Open in Web Editor NEWVolumetric extensions to Torch's modules
License: MIT License
Volumetric extensions to Torch's modules
License: MIT License
It would be nice to have some installation instructions with the README.
As far as I can see, simply copying these files to the appropriate 'nn' folder and then doing a luarocks install
with the appropriate rocks file in the nn folder would be sufficient.
Maybe adding those instructions (or any other installation instructions) to the README would be useful.
Hi friend,
Sorry to bother you again. I just noticed that the VolumetricMaxUnpooling.cu
module in torch is contributed by you as well and I want to install it in my cunn. However, I can't do it by luarocks install cunn
because it causes too many errors and I also want to keep my current cunn version.
So I am wondering is there another way to install it just like before? Have you tried this? Thanks!!
——————
I have tried to install by copying VolumetricMaxUnpooling.cu
into /home/ubuntu/torch/extra/cunn/lib/THCUNN
and then luarocks make cunn
, but when training models it got
not found: THNN_CudaVolumetricMaxUnpooling_updateOutput
/usr/share/lua/5.1/nn/THNN.lua:107: /usr/lib/lua/5.1/libTHCUNN.so: undefined symbol: THNN_CudaVolumetricMaxUnpooling_updateOutput
not found: THNN_CudaVolumetricMaxUnpooling_updateGradInput
/usr/share/lua/5.1/nn/THNN.lua:107: /usr/lib/lua/5.1/libTHCUNN.so: undefined symbol: THNN_CudaVolumetricMaxUnpooling_updateGradInput
I tried to fixed it by adding the missing function definition into /usr/share/lua/5.1/cunn/THCUNN_h.lua
but it still doesn't work.
Hi,
First I want to say your work is awesome, would definitely help me. But about the installation, I think there should be some update, because I actually installed your module in extra/nnx and extra/cunnx, seems newest version of torch has made some changes in directory structures.
However I got a problem when I use VolumetricUpSamplingNearest in my module.
This is my model:
local pooling = nn.VolumetricMaxPooling(3,3,3)
local pooling2 = nn.VolumetricMaxPooling(2,2,2)
encoder = nn.Sequential()
encoder:add(nn.VolumetricConvolution(1,10,7,7,7))
encoder:add(nn.Sigmoid())
encoder:add(pooling)
encoder:add(nn.VolumetricConvolution(10,20,5,5,5))
encoder:add(nn.Sigmoid())
encoder:add(pooling2)
encoder:add(nn.VolumetricConvolution(20,30,3,3,3))
encoder:add(nn.Sigmoid())
decoder = nn.Sequential()
decoder:add(nn.VolumetricFullConvolution(30,20,3,3,3))
encoder:add(nn.Sigmoid())
decoder:add(nn.VolumetricUpSamplingNearest(2,2))
decoder:add(nn.VolumetricFullConvolution(20,10,5,5,5))
encoder:add(nn.Sigmoid())
decoder:add(nn.VolumetricUpSamplingNearest(3,3))
decoder:add(nn.VolumetricFullConvolution(10,1,7,7,7))
module = unsup.SparseAutoEncoder(encoder, decoder, params.beta, params.lambda)
The input is a 3D Tensor (100x100x100). I think I make it right above. But when training it gives this:
/usr/share/lua/5.1/nn/VolumetricUpSamplingNearest.lua:55: attempt to index field 'nn' (a nil value)
stack traceback:
/usr/share/lua/5.1/nn/VolumetricUpSamplingNearest.lua:55: in function </usr/share/lua/5.1/nn/VolumetricUpSamplingNearest.lua:33>
[C]: in function 'xpcall'
/usr/share/lua/5.1/nn/Container.lua:65: in function 'rethrowErrors'
/usr/share/lua/5.1/nn/Sequential.lua:44: in function 'updateOutput'
/usr/share/lua/5.1/unsup/SparseAutoEncoder.lua:36: in function 'updateOutput'
train-cbct-whole.lua:212: in function 'opfunc'
/usr/share/lua/5.1/optim/adagrad.lua:31: in function 'adagrad'
train-cbct-whole.lua:233: in main chunk
I am not quite sure what is input.nn, so I wll appreciate your kindly help! Thank you very much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.