Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f22ea9b
Bump versions and update setup.py.
douthwaite-io Jul 16, 2020
26b0072
Bump versions and update setup.py.
douthwaite-io Jul 16, 2020
9d9b631
Update python-publish.yml
markdouthwaite Jul 16, 2020
4ddbdc2
Bump version.
douthwaite-io Jul 16, 2020
53dea1e
Merge branch '0.1.0' of https://github.com/markdouthwaite/xanthus int…
douthwaite-io Jul 16, 2020
1a250dd
Update README.md
markdouthwaite Jul 17, 2020
8f201bc
Update README.md
markdouthwaite Jul 17, 2020
591aa3e
Update issue templates
markdouthwaite Jul 19, 2020
f804270
* ADDED - Performance improvements when using user- and item-metadata.
douthwaite-io Aug 10, 2020
4a589e6
# Changes
douthwaite-io Aug 11, 2020
0e52ca4
* UPDATED - Type annotations in `xanthus.datasets.movielens`.
douthwaite-io Aug 11, 2020
22e8547
Merge pull request #11 from markdouthwaite/feature/inherit-from-keras…
markdouthwaite Aug 11, 2020
b41c2d5
* UPDATED - `examples/advanced_training` to use `fire`, applied `black`.
douthwaite-io Aug 15, 2020
a31cc1e
* UPDATED - `examples/advanced_training.py` to remove unnecessary Ker…
douthwaite-io Aug 15, 2020
503c3a8
Merge pull request #12 from markdouthwaite/feature/inherit-from-keras…
markdouthwaite Aug 15, 2020
f3a83ad
* UPDATED - `getting-started.ipynb` to reflect `0.1.0rc1` changes.
douthwaite-io Aug 15, 2020
e4b15ce
* UPDATED - Regenerated `getting-started.md`.
douthwaite-io Aug 15, 2020
f771573
Merge branch '0.1.0' into docs/update-docs-for-release
markdouthwaite Aug 15, 2020
059a8d7
Merge pull request #14 from markdouthwaite/docs/update-docs-for-release
markdouthwaite Aug 15, 2020
ed88387
* ADDED - New 'basic' training example.
douthwaite-io Sep 21, 2020
07c0f1c
* ADDED - New benchmarking scripts & notebook.
douthwaite-io Sep 21, 2020
5ad1ed7
Update __init__.py
markdouthwaite Sep 22, 2020
9f93a6f
Merge pull request #15 from markdouthwaite/docs/update-docs-for-release
markdouthwaite Sep 22, 2020
a3fc435
Bump tensorflow from 2.3.0 to 2.3.1
dependabot[bot] Sep 25, 2020
4de18d6
Merge pull request #16 from markdouthwaite/dependabot/pip/tensorflow-…
markdouthwaite Sep 28, 2020
7df5716
Bump tensorflow from 2.3.1 to 2.5.0
dependabot[bot] May 21, 2021
8d4e64b
Merge pull request #17 from markdouthwaite/dependabot/pip/tensorflow-…
markdouthwaite Jun 2, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: markdouthwaite

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**System:**
- OS: [e.g. iOS]
- Version [e.g. 22]

**Xanthus Version:**
- 0.1.0a1
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
1 change: 1 addition & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
pip install -r requirements.txt
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
Expand Down
20 changes: 4 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@

[**Quickstart**](#quickstart)
| [**Install guide**](#installation)
| [**Contributing**](docs/contributing.md)
| [**Known issues**](#known-performance-issues)

## What is Xanthus?

Xanthus is a package that was started as personal project to translate an academic ML paper into a 'production ready' software package. Itprovides the tools and model architectures necessary to utilise the techniques outlined in [He et al's work](https://dl.acm.org/doi/10.1145/3038912.3052569) on Neural Collaborative Filtering in your own projects. Over time, you'll find work from other research finding it's way in here. The aim of this package is to make state-of-the-art research into neural recommenders accessible and ultimately ready for deployment. You might find that it's not quite there yet on that latter point, but sit tight, it will be.
Xanthus is a package that was started as personal project to translate an academic ML paper into a 'production ready' software package. It provides the tools and model architectures necessary to utilise the techniques outlined in [He et al's work](https://dl.acm.org/doi/10.1145/3038912.3052569) on Neural Collaborative Filtering in your own projects. Over time, you'll find work from other research finding it's way in here. The aim of this package is to make state-of-the-art research into neural recommenders accessible and ultimately ready for deployment. You might find that it's not quite there yet on that latter point, but sit tight, it will be.

Sound good? Great, here goes.

Expand All @@ -23,7 +21,7 @@ Want to get straight into the code? Here's an [introductory notebook](docs/getti
You can also find some examples of how to use Xanthus with sample datasets in this
repo's docs. These include:

* [A minimal example using the Movielens (100k) dataset.](examples/basics.py)
* [A minimal example using the Movielens (100k) dataset.](docs/getting-started.ipynb)
* [An example using the meta-data features of Xanthus on the Movielens (100k) dataset.](examples/metadata.py)

If you're interested in seeing the results of benchmarking of Xanthus' models against 'classic'
Expand All @@ -41,17 +39,7 @@ pip install xanthus

That's it, you're good to go. Well, except for one thing...

The package makes extensive use of [Tensorflow 2.0]() and the [Keras]() API. If
The package makes extensive use of [Tensorflow 2.0](https://www.tensorflow.org/tutorials/quickstart/beginner) and the [Keras](https://keras.io/) API. If
you want to make use of the GPU acceleration provided by Tensorflow, you'll need to
follow the [Tensorflow team's guide]() for setting that up. If you don't need GPUs
follow the [Tensorflow team's guide](https://www.tensorflow.org/install/gpu) for setting that up. If you don't need GPUs
right now, then great, you _really_ are all set.

## Known performance issues

This is a pre-release. There's likely to be a few performance issues. Here's a couple that are being worked on:

* The negative sampling `xanthus.datasets.utils.negative_sampling` approach is expensive and can therefore be slow for large datasets.
* The inference method (`NeuralRecommenderModel.predict`) is currently pretty slow. An alternative is on its way.
* The training method (`NeuralRecommenderModel.fit`) is a little crude, again, improvements are inbound.

You will likely find other performance issues on very large datasets. Hold tight for some optimizations, it'll get there.
Loading