v0.5.0
What’s Changed
- Quick fix to simplify DLRM when there are no continuous features @marcromeyn (#479)
- Move Input-blocks @marcromeyn (#471)
- Fixing the inconsistency when exporting embeddings to cudf DataFrame @gabrielspmoreira (#452)
- Remove the
mask
variable from theModelContext
@karlhigley (#449) - Move masking into the
FeatureContext
@karlhigley (#443) - Create
FeatureContext
and pass it to model layers withcall_layer
@karlhigley (#428) - Rename "mask schema" to "mask" or "feature mask" @karlhigley (#425)
- Rename
BlockContext
toModelContext
@karlhigley (#417) - Create
FeatureCollection
as a way to pass input features to blocks @karlhigley (#418) - Added TensorInitializer that can be used to initialize variables/embeddings with pretrained weights @gabrielspmoreira (#357)
⚠ Breaking Changes
- Remove
Block.to_model
@benfred (#501) - Moving loss- and metrics-calculation to model instead of the predicti… @marcromeyn (#431)
- Make Model creation explicit @karlhigley (#432)
🐜 Bug Fixes
- Fixes computing metrics each N steps during training and adding regularization_loss metric @gabrielspmoreira (#511)
- Fix to pass shuffle argument to dataloader @benfred (#493)
- fix broken links in the 04-Exporting-ranking-models.ipynb nb @rnyak (#490)
- Fixes errors on retrieval models evaluation in graph mode @gabrielspmoreira (#488)
- Fixes and improvements in ranking metrics @gabrielspmoreira (#475)
- Fixes and improves masking (for both Causal LM and Masked LM) and adds SequenceAggregation.MASKED_MEAN (used by YouTubeDNN) @gabrielspmoreira (#464)
- Replace use of removeprefix function which requires Python 3.9+ @oliverholworthy (#465)
- Parametrize base-model-tests to run in both graph- and eager-mode @marcromeyn (#456)
- Add validation for movielens variant and fix docstring @oliverholworthy (#434)
- Use collections.abc for Sequence import @oliverholworthy (#427)
🚀 Features
- XGBoost - Switch to dask API @oliverholworthy (#466)
- Fixes and improves masking (for both Causal LM and Masked LM) and adds SequenceAggregation.MASKED_MEAN (used by YouTubeDNN) @gabrielspmoreira (#464)
- Moving loss- and metrics-calculation to model instead of the predicti… @marcromeyn (#431)
- XGBoost - Change group_columns to qid_column @oliverholworthy (#462)
- First sketch of XGBoost integration with Merlin Dataset @oliverholworthy (#433)
- Getting rid of feature-variables in ModelContext @marcromeyn (#455)
- Adding the missing logQ correction to sampled softmax @gabrielspmoreira (#457)
- Making YoutubeDNNRetrievalModel more configurable @gabrielspmoreira (#447)
- Making EmbeddingOptions.embedding_dims to have priority over .inferred_embedding_dims @gabrielspmoreira (#398)
📄 Documentation
- Update to refer to merlin-tensorflow container @mikemckiernan (#512)
- Fix prediction task documentation @benfred (#505)
- Fix dataloader docstring @benfred (#492)
- Add common release-drafter workflow @mikemckiernan (#439)
- Add common release-drafter configuration @mikemckiernan (#435)
- Adding container info to notebook 01, 02 and 06 @bschifferer (#424)
🔧 Maintenance
- Fix pytest marker for integration tests. @oliverholworthy (#510)
- Add a GA workflow that requires labels on PR's @benfred (#506)
- Use shared implementation of triage workflow @benfred (#504)
- remove unnecessary line @radekosmulski (#494)
- Adding automatic branch pruning to ParallelBlock @marcromeyn (#477)
- Move tabular tests from test_core to test_tabular @marcromeyn (#476)
- Remove tf.test.is_gpu_available call @benfred (#470)
- Update setup.py to include only the merlin namespace @oliverholworthy (#469)
- Add labels to PRs for change log @mikemckiernan (#453)
- Make use of model_test for all ranking- and benchmark-models @marcromeyn (#440)
- Move tests to tests/unit or tests/integration @jperez999 (#445)
- Creating generic model_test @marcromeyn (#430)
- Create separate a Github-workflow for each backend @marcromeyn (#423)
- rm git pull cmd in test unit @jperez999 (#438)
- Adding CI for notebooks 03, 04, 05 and 06 @bschifferer (#414)