Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: more hash, sizeof and eq implementations #609

Merged
merged 16 commits into from
Apr 10, 2024

Conversation

WinPlay02
Copy link
Contributor

@WinPlay02 WinPlay02 commented Apr 4, 2024

Summary of Changes

  • adds specific hash-implementations to classical classification and regression models
  • use more properties from table transformer to calculate hash
  • add eq to imputer strategies and svm kernels
  • adds general reusable structural hashing infrastructure for future usage

Copy link

codecov bot commented Apr 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (8b9c7a9) to head (9f96a8b).

Additional details and impacted files
@@            Coverage Diff             @@
##              main      #609    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files           54        56     +2     
  Lines         3323      3493   +170     
==========================================
+ Hits          3323      3493   +170     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@WinPlay02
Copy link
Contributor Author

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

@WinPlay02 WinPlay02 marked this pull request as ready for review April 4, 2024 10:35
@WinPlay02 WinPlay02 requested a review from a team as a code owner April 4, 2024 10:35
@lars-reimann
Copy link
Member

lars-reimann commented Apr 4, 2024

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

Some errors cannot be fixed automatically. If there is at least one such error, no commit is created to fix the others. I'll look into whether it can create comments on PRs from forks, though.

@WinPlay02
Copy link
Contributor Author

@lars-reimann The linter seems broken, it doesn't automatically push anything anymore

Some errors cannot be fixed automatically. If there is at least one such error, no commit is created to fix the others. I'll look into whether it can create comments on PRs from forks, though.

See this commit: 68c3562 (https://github.com/Safe-DS/Library/actions/runs/8553108748/job/23435588119). No errors are left, and the linter still does not push (although at least 22 fixes could be made). Maybe this is also a problem with the fork.

@lars-reimann
Copy link
Member

lars-reimann commented Apr 4, 2024

Maybe this is also a problem with the fork.

Yep, it is. Workflows with the pull_request trigger can be changed by forks, and thus only run with read permissions. There's no secure way to change this, unfortunately.

I've added you to the library team for now, so you have direct write access.

src/safeds/data/tabular/transformation/_imputer.py Outdated Show resolved Hide resolved
src/safeds/data/tabular/transformation/_imputer.py Outdated Show resolved Hide resolved
src/safeds/data/tabular/transformation/_imputer.py Outdated Show resolved Hide resolved
src/safeds/data/tabular/transformation/_imputer.py Outdated Show resolved Hide resolved
@WinPlay02
Copy link
Contributor Author

Everything should be addressed now, I even learned that implementations of methods can be copied from the parent class (for deduplicating __hash__ implementations)

@WinPlay02 WinPlay02 requested review from lars-reimann and a team April 9, 2024 22:48
Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

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

The hash functions are very nice to read now. All looks good.

@lars-reimann lars-reimann merged commit 2bc0b0a into Safe-DS:main Apr 10, 2024
8 checks passed
lars-reimann pushed a commit to Safe-DS/Runner that referenced this pull request Apr 16, 2024
### Summary of Changes

- shared memory
- lazy comparisons
- limited memory 
- value removal strategies
- use deterministic seed for hashing

Closes #44

Depends on Safe-DS/Library#609

---------

Co-authored-by: megalinter-bot <[email protected]>
lars-reimann pushed a commit that referenced this pull request Apr 17, 2024
## [0.21.0](v0.20.0...v0.21.0) (2024-04-17)

### Features

* add ARIMA model ([#577](#577)) ([8b9c7a9](8b9c7a9)), closes [#570](#570)
* Add ImageList class ([#534](#534)) ([3cb74a2](3cb74a2)), closes [#528](#528) [#599](#599) [#600](#600)
* more hash, sizeof and eq implementations ([#609](#609)) ([2bc0b0a](2bc0b0a))

### Performance Improvements

* Add special case to `Table.add_rows` to increase performance ([#608](#608)) ([ffb8304](ffb8304)), closes [#606](#606)
* improve performance of model & forward layer ([#616](#616)) ([e856cd5](e856cd5)), closes [#610](#610)
* lazily import our modules and external libraries ([#624](#624)) ([20fc313](20fc313))
* treat Tables specially when calling add_rows ([#606](#606)) ([e555b85](e555b85)), closes [#575](#575)
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.21.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants