Skip to content

Conversation

@ooau
Copy link
Contributor

@ooau ooau commented May 2, 2019

Implementation of the dimensional adaptive combination technique and example config files with three new datasets.

nico roesel

nico roesel added 30 commits December 3, 2018 18:38
…arser, added AnisotropicFullGrid as supported Gridtype in ModelFittingBase
@krsgpp
Copy link
Member

krsgpp commented May 21, 2019

Jenkins Jobs are running again.

@krsgpp
Copy link
Member

krsgpp commented May 22, 2019

Latest Jenkins Jobs still have warninings in the style-Job. The error in the coverage-testing Job can be ignored.

@ooau ooau closed this May 22, 2019
@ooau ooau reopened this May 22, 2019
@krsgpp
Copy link
Member

krsgpp commented May 22, 2019

master needs to be merged into this branch again due to another PR that just got merged.
Next jenkins run will start as soon as jenkins has resources (we will need to do another as soon as the master is merged).

Copy link
Member

@leiterrl leiterrl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,
sorry for turning up so late but I have two major remarks (also @krsgpp ) for this pull request:

First, the functionality introduced here seems to partially belong to the combigrid module. I understand that touching this might be too much effort for a student project but I still believe merging this PR as is would result in duplicate code. IIRC the current combigrid module should already offer dimensional adaptivity.

Second, some of the core logic of this PR is implemented in python, which is called from C++. This adds an unnecessary dependency on python-dev and might obfuscate attempts at debugging this part of the code in the future. What is the reason for this is not being implemented in C++?

Other than that I only have two more minor things:

  • Debug output should be removed/guarded
  • I don't understand the logic in the testAnisotropicFull boost test. Aren't the checks doing the same in each iteration of that for loop? What is the if clause in the beginning supposed to do?

@ooau
Copy link
Contributor Author

ooau commented May 22, 2019

Hi,
sorry for turning up so late but I have two major remarks (also @krsgpp ) for this pull request:

First, the functionality introduced here seems to partially belong to the combigrid module. I understand that touching this might be too much effort for a student project but I still believe merging this PR as is would result in duplicate code. IIRC the current combigrid module should already offer dimensional adaptivity.

Second, some of the core logic of this PR is implemented in python, which is called from C++. This adds an unnecessary dependency on python-dev and might obfuscate attempts at debugging this part of the code in the future. What is the reason for this is not being implemented in C++?

Other than that I only have two more minor things:

  • Debug output should be removed/guarded
  • I don't understand the logic in the testAnisotropicFull boost test. Aren't the checks doing the same in each iteration of that for loop? What is the if clause in the beginning supposed to do?

Hello,

to the boost test:
The function i.set(d, l, i) sets the level and the index of a point in the dimension d. The if clause is setting the level and indexes for dimension 0 of point i. Afterwards the levels and indices in dim 1 of point i are set to different values bevor BOOST_CHECK(s.isContaining(i)) checks if s contains them. There are 21 Points in an anisotropic full grid of levels (2,3) and the code checks if they are all contained in s after calling HashGenerator::anisotropicFull(s, (2,3)).

@leiterrl
Copy link
Member

Alright so as promised @pfluegdk and I had a little discussion about this today. Bottom line is that we think the introduction of another interface (C++ -> Python) is a blocking issue here. We understand that nobody wants to reinvent the wheel but at the same time we want to avoid further complication of the SGpp library.

Also, I would like to remark two more minor things:

  • There is a hardcoded dependency on zlib added. This should be replaced by using the USE_ZLIB define that is already there
  • During the last coding days we were concerned with licensing issues of datasets. What's the licensing status on redistributing the iris flower dataset added in this PR?

@pfluegdk
Copy link
Member

pfluegdk commented Jun 3, 2019

@niglz We just discussed the merge with @krsgpp. The dependency on Python is not something that matches our policy of dependencies.
At the next SG++ Coding Days (July 30 + 31) we will need to discuss a split of the data-driven module anyway, and it could be an option to separate the DataMining pipeline. This should be a win-win situation for everyone. @niglz - would you like to join the coding days in Stuttgart? We can provide travel support and accommodation.

@ooau
Copy link
Contributor Author

ooau commented Jun 3, 2019

@pfluegdk I would really like to join, but i have an exam on July 31.

So should i close the pull request for now?

@ooau ooau closed this Jun 3, 2019
@krsgpp
Copy link
Member

krsgpp commented Jun 4, 2019

I will merge this today, so we won't close this :-)

@krsgpp krsgpp reopened this Jun 4, 2019
@krsgpp krsgpp dismissed leiterrl’s stale review June 4, 2019 08:46

ref. to discussion on June 3rd together with @pfluegdk and @leiterrl

@krsgpp krsgpp merged commit d8c9197 into SGpp:master Jun 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants