Comments (10)
I think it s a BCNN because of the dropout layers
from deep-bayesian-active-learning.
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.
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.
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.
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.
I think so yeah
from deep-bayesian-active-learning.
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.
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.
@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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deep-bayesian-active-learning.