Coder Social home page Coder Social logo

Comments (10)

damienlancry avatar damienlancry commented on May 28, 2024

I think it s a BCNN because of the dropout layers

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

But if so, then all the neural networks with just dropout layers can be called Bayesian neural networks? I don't think so!

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

As @damienlancry say, the experiment in section 5.2 is a comparison of CNN with dropout layers and CNN without dropout layers. But dropout layer is very common in recent models, who would use a CNN without dropout layers? It doesn't make sense!

from deep-bayesian-active-learning.

damienlancry avatar damienlancry commented on May 28, 2024

Dropout is commonly used during training as a regularization technique to avoid overfitting since 2012. however it is not common to use dropout at test time. dropout layers are usually deactivated at test time thanks to model.eval() in pytorch for example. In a bayesian setting, dropout is never deactivated, we run several passes through the stochastic network to obtain a distribution of outputs and compute uncertainties.

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

Thanks! So in a word, a BCNN is a CNN using dropout layers at test time, but the same as common CNN when training?

from deep-bayesian-active-learning.

damienlancry avatar damienlancry commented on May 28, 2024

I think so yeah

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

I have another question... In MC_Dropout_Keras/Dropout_Bald_Q10_N1000_Paper.py for example, the Bayesian part I think is shown in line 228:
dropout_score = model.predict_stochastic(X_Pool_Dropout,batch_size=batch_size, verbose=1)
, which measures the uncertainties. But I didn't find the implementation of the function predict_stochastic...

from deep-bayesian-active-learning.

damienlancry avatar damienlancry commented on May 28, 2024

It is a method they implemented themselves, it is not implemented in the common keras available with pip, that is why they included their own version of keras in this repository
To use it, you have to add this keras to your python path. Personnally I simply added that to the beginning of every script:
import sys
sys,path.append("/home/damien/Documents/Deep-Bayesian-Active-Learning/keras")

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

@damienlancry Thank you so much for your kindly help! I still wonder that if there is only 1 new function, is it necessary to rewrite the whole keras? I don't know much about keras, sorry :(

from deep-bayesian-active-learning.

ShellingFord221 avatar ShellingFord221 commented on May 28, 2024

Besides, is there any Pytorch version of BCNN? I think it will be a little bit easy in Pytorch to implement MC dropout when testing.

from deep-bayesian-active-learning.

Related Issues (7)

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.