Giter Site home page Giter Site logo

Comments (6)

btgraham avatar btgraham commented on July 26, 2024

Using sparse convolutions only makes sense if the input is spatially sparse. What is your input?

The output of dense convolutions will not be sparse, so you should not use dense convolutions followed by sparse convolutions.

from sparseconvnet.

fabvio avatar fabvio commented on July 26, 2024

Hi, thanks for your reply.
My input is actually sparse. In my network, after some convolutional layers, I apply a binary mask to the pixels having a low probability to be classified correctly, and I propagate only that set of pixels to the deeper layers. I would like to apply the sparse convolution in those layers.

from sparseconvnet.

btgraham avatar btgraham commented on July 26, 2024

That might work. But the learning signal is the dense layers will be limited to the sites that are not filtered out, which could be problematic.
Can you not use sparse filters end-to-end?

from sparseconvnet.

fabvio avatar fabvio commented on July 26, 2024

I think that this should not be an issue, correct me if I'm wrong. I'll give you some more information about my network, so that you could better understand what I'm trying to do.
After the application of the binary mask to the input, the filtered pixels are not lost, but they are directly connected to a layer where I overlap the results of the sparse convolution (after the application of a SparseToDense module) and the dense convolutive layers. In this way, I could use the last part of my network (the sparse one) to learn difficult features in an efficient way, and the first part (the dense one) to learn both difficult and easy features. Joining the results of the two classification, I should be able to backpropagate the learning signals for both the sites with difficult and easy classification. What do you think about it?

from sparseconvnet.

fabvio avatar fabvio commented on July 26, 2024

Could I simply implement a layer where I map my input to an InputBatch (in the updateOutput function), like you do in your example, and the sparse gradOutput to a dense gradInput (in the updateGradInput)?

from sparseconvnet.

btgraham avatar btgraham commented on July 26, 2024

Please contact me at [email protected] so we can discuss this in more detail.
Regards
Ben

from sparseconvnet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.