Change caching implementation of MOTPE#2406
Conversation
|
@HideakiImamura @c-bata |
|
@y0z I think the CI will pass if you merge the master branch. Could you merge the master branch? |
HideakiImamura
left a comment
There was a problem hiding this comment.
Thanks for the update. Left some comments. PTAL.
HideakiImamura
left a comment
There was a problem hiding this comment.
Thanks for the update. I have another suggestions. PTAL.
Co-authored-by: Hideaki Imamura <38826298+HideakiImamura@users.noreply.github.com>
|
In ci/circleci: document, |
HideakiImamura
left a comment
There was a problem hiding this comment.
LGTM!
@c-bata Please merge this PR after your reviews.
|
I think that the memory-based cache (this PR) is more preferable to the DB-based cache (current implementation) because users generally do not need the cache data for MOTPE's internal implementation in their DB.
Therefore, this PR is still useful and valuable. |
|
@y0z Thanks for the PR. Discussed with the team, and we agree that this PR is still useful and valuable. I've read over the code and tested it locally and it runs fine. I'm not sure the additional test is required. I feel that if the cache was not working, we would see that result in the other multi-objective tests, so I think we can remove this test. What do you think? |
|
After discussion with @HideakiImamura, agreed test worth doing. Merging! |
Motivation
This PR fixes issue #2331.
Description of the changes
This PR changes the caching implementation of MOTPE.
Previously, MOTPE uses
trial.system_attrsto cache its internal parameters. This causesoptuna.exceptions.StorageInternalErrorafter hundreds of iterations because of exceeding max length when the cache becomes large.Now, MOTPE uses its member variables to cache its internal parameters and this fixes the issue mentioned above.