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

Implement superset behavior #6406

Open
43 of 47 tasks
nassimberrada opened this issue Oct 31, 2022 · 2 comments
Open
43 of 47 tasks

Implement superset behavior #6406

nassimberrada opened this issue Oct 31, 2022 · 2 comments
Labels
Shared Task Various tasks to be completed as small teams

Comments

@nassimberrada
Copy link
Contributor

nassimberrada commented Oct 31, 2022

Overview

Your task is to assign yourself a function from the list below, add the additional functionality to the corresponding ivy function and ensure the new feature is being tested. For the backend framework offering the additional functionality, it will likely only require adding the additional argument in the call. For other backends, it might require more work/composition.

Task details

The Contributor guide was updated with the Superset section providing the details for adding superset of functionality amongst the supported backends. The page linked above includes some of the instructions and implementation examples, taking efficiency into account.

Please ensure that the following steps are carried out:

  1. Arguments are added in functional/ivy
  2. Arguments are added in all backend functions
  3. Type Hints are added accordingly
  4. The arguments are added in container(both static and instance) and array methods
  5. Explained the parameters in docstrings
  6. Add/edit examples in the docstrings (functional/ivy, container, array) to reflect the additional feature. See examples page for more details.
  7. Update the tests and make sure they pass with the new parameters

Please refer to the contributor guide or post a question in the internal discussion thread. Feel free to create a PR to be reviewed by your POC (point of contact) and reference the PR/commit once completed in the PR/Commit column.

You will find in the corresponding issues, the following items:

  • The framework with the additional functionality(ies)
  • The features to be added

Functions list

activations

set

creation

linalg

manipulations

searching

random

norms

layers

losses

Suggestions

Please add any suggestions that you think we might have missed in the comment, in the following format:
“Ivy.some_function: Explanation of the change and why this is relevant superset behaviour, which backend has this extra behaviour etc.”
We will then review them as a team, and possibly add them to the list above.

@nassimberrada nassimberrada added the Shared Task Various tasks to be completed as small teams label Oct 31, 2022
@nassimberrada
Copy link
Contributor Author

nassimberrada commented Oct 31, 2022

(As found in the original doc)
Ivy.logspace: The Torch does not have the endpoint argument unlike others
Ivy.unique: Numpy includes an “axis” argument, which determines which axis to operate on. Torch also has a “dim” argument that might also do the same thing.
Tensorflow.argmax does not support keepdims parameter
Ivy.fmax: Numpy includes a “where” argument that allows a condition to be broadcasted over the result.

@AnnaTz AnnaTz added ToDo A ToDo list of tasks and removed ToDo A ToDo list of tasks labels May 4, 2023
@AnnaTz
Copy link
Contributor

AnnaTz commented May 12, 2023

ivy.split: numpy and jax can receive indices to split at, not just number or size of sections.

@github-actions github-actions bot mentioned this issue Oct 9, 2023
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Shared Task Various tasks to be completed as small teams
Projects
None yet
Development

No branches or pull requests

2 participants