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

Rearrange examples and models #542

Open
tqtg opened this issue Nov 1, 2023 · 6 comments
Open

Rearrange examples and models #542

tqtg opened this issue Nov 1, 2023 · 6 comments
Assignees
Labels
feature New feature/enhancement request

Comments

@tqtg
Copy link
Member

tqtg commented Nov 1, 2023

Description

I was thinking to rearrange some files in examples folder into model-specific folders. We only retain the ones for basic usage. It will help tidy up examples folder a bit. At the same time, we can have a README file in each of the model folders for any relevant information (i.e., paper, authors, requirements, how-to-run example, any results/reproducibility/notes about the model, etc). Currently, when we click on a model from the main README, it opens the model folder without any useful information inside.

Expected behavior with the suggested feature

Other Comments

@tqtg tqtg added the feature New feature/enhancement request label Nov 1, 2023
@darrylong
Copy link
Member

Agreed with this. Could I suggest that we do something like this:

cornac
  |--- examples
          |--- <more task specific examples. e.g. first new model>
                   |-- Readme.md
                   |-- first-model.py

That way, we can group different models together (e.g. graph models, ranking models).
Will it be a good idea, or do we prefer a model by model approach.

@lthoang
Copy link
Member

lthoang commented Jan 7, 2024

Shall we have multiple hierarchies for grouping models into tasks (general recommendation, next-item recommendation, next-basket recommendation) or modalities (text or review, graph, image, sentiment), etc?

@darrylong
Copy link
Member

darrylong commented Jan 8, 2024

Taking into consideration the increase in methods and number of models, could I suggest something like the following:

cornac
  |--- examples
  |       |--- README.md  // we add task specific examples in this folder
  |       |--- first_example.py
  |       |--- param_search.py
  |       |--- next_item_example.py
  |       |--- ...
  |--- cornac
          |--- models
                 |--- <model_A>
                        |--- README.md  // we add model specific examples to this folder
                 |--- <model_B>
                        |--- README.md
                 |--- ...

Feel free to suggest a better structure too. Thanks!

@tqtg
Copy link
Member Author

tqtg commented Jan 8, 2024

@lthoang what do think about the suggestion by @darrylong? Do you think it’s a good idea to only keep generic examples here and move most of the examples into their corresponding model folders?

@hieuddo
Copy link
Member

hieuddo commented Jan 8, 2024

Does it make sense to move all NEW models into their categorization folder?

cornac
  |--- cornac
          |--- models
                 |--- BPR
                 |--- NCF
                 |--- NextItem
                        |--- GRU4Rec
                 |--- NextBastket
                        |--- Pop

I feel it's easier to navigate through the models when I approach a new recommender problem.

@tqtg
Copy link
Member Author

tqtg commented Jan 8, 2024

@hieuddo I think it’s also a good idea to restructure the models folder. However, it’s a bit more complicated and involved than this one. How about we focus on the examples folder first? This exercise will also give us better idea on how we want to categorize models. Would you mind creating another issue for your suggestion above?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature/enhancement request
Projects
None yet
Development

No branches or pull requests

4 participants