An option for doing binomial+1 or epsilon-dropout from DART paper #1922

Merged
merged 2 commits into from Jan 6, 2017

Projects

None yet

3 participants

@khotilov
Contributor
khotilov commented Jan 2, 2017

No description provided.

@khotilov
Contributor
khotilov commented Jan 2, 2017

Apparently, even though MSVC2013 claims in its documentation to have an iterator range constructor for std::discrete_distribution https://msdn.microsoft.com/en-us/library/ee462326(v=vs.120).aspx , the appveyor fails for VC2013:

C:\projects\xgboost\src\gbm\gbtree.cc(668): error C2661: 
'std::discrete_distribution<size_t>::discrete_distribution' : 
no overloaded function takes 2 arguments [C:\projects\xgboost\build2013\libxgboost.vcxproj]

There is this bug report which I would guess was for the 2013 release, and the fix was promised to be "in the next major release of Visual C++" (the 2015, I would guess).
Some workarounds should be possible, like here or here.
@tqchen : would it be ok to have a VC2013-specific ifdef-block with such workaround?

@codecov-io
codecov-io commented Jan 4, 2017 edited

Current coverage is 33.78% (diff: 0.00%)

Merging #1922 into master will decrease coverage by 0.09%

@@             master      #1922   diff @@
==========================================
  Files            68         68          
  Lines          5281       5293    +12   
  Methods         827        828     +1   
  Messages          0          0          
  Branches        526        528     +2   
==========================================
- Hits           1789       1788     -1   
- Misses         3415       3427    +12   
- Partials         77         78     +1   

Powered by Codecov. Last update 8b82742...8e7db3b

khotilov added some commits Jan 2, 2017
@khotilov khotilov An option for doing binomial+1 or epsilon-dropout from DART paper 95d66f8
@khotilov khotilov use callback-based discrete_distribution to make MSVC2013 happy
8e7db3b
@khotilov
Contributor
khotilov commented Jan 4, 2017

I've changed to use an ugly but MSVC2013-friendly constructor of std::discrete_distribution. I've checked that it works equivalent to the iterator range-based version in gcc.

@marugari as well

@tqchen tqchen merged commit d23ea5c into dmlc:master Jan 6, 2017

2 of 4 checks passed

codecov/patch 0.00% of diff hit (target 33.87%)
Details
codecov/project 33.78% (-0.10%) compared to 8b82742
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment