Code Monkey home page Code Monkey logo

ivy's People

Contributors

1doomdie1 avatar aarsh2001 avatar ahmedo42 avatar annatz avatar catb1t avatar daniel4078 avatar djl11 avatar fnhirwa avatar fspyridakos avatar hello-fri-end avatar hmahmood24 avatar ishticode avatar ivy-branch avatar jerrygcding avatar jiahanxie353 avatar juliagsy avatar karalleyna avatar kareemmax avatar mahmoudashraf97 avatar mattbarrett98 avatar nripeshn avatar rashulchutani avatar ricksanchezstoic avatar saeedashrraf avatar sai-suraj-27 avatar sherry30 avatar simonetgordon avatar vaatsalya123 avatar vedpatwardhan avatar zaeemansari70 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ivy's Issues

Add Miscellaneous Operations to PyTorch Frontend

Add miscellaneous operations to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/miscellaneous\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_miscellaneous\_ops.py

Add Ivy Container Instance Methods

Add Ivy Container Instance Methods:

  • update_config
  • inplace_update
  • set_framework
  • all_true
  • all_false
  • reduce_sum
  • reduce_prod
  • reduce_mean
  • reduce_var
  • reduce_std
  • reduce_min
  • reduce_max
  • minimum
  • maximum
  • clip
  • clip_vector_norm
  • einsum
  • vector_norm
  • matrix_norm
  • flip
  • shuffle
  • slice_via_key
  • as_ones
  • as_zeros
  • as_bools
  • as_random_uniform
  • to_native
  • to_ivy
  • expand_dims
  • dev_clone
  • dev_dist
  • to_multi_dev
  • unstack
  • split
  • gather
  • gather_nd
  • repeat
  • swapaxes
  • reshape
  • einops_rearrange
  • einops_reduce
  • einops_repeat
  • to_dev
  • stop_gradients
  • as_variables
  • as_arrays
  • num_arrays
  • size_ordered_arrays
  • to_numpy
  • from_numpy
  • arrays_as_lists
  • to_disk_as_hdf5
  • to_disk_as_pickled
  • to_jsonable
  • to_disk_as_json
  • to_list
  • to_raw
  • to_dict
  • to_iterator
  • to_iterator_values
  • to_iterator_keys
  • to_flat_list
  • from_flat_list
  • has_key
  • has_key_chain
  • find_sub_container
  • contains_sub_container
  • assert_contains_sub_container
  • find_sub_structure
  • contains_sub_structure
  • assert_contains_sub_structure
  • has_nans
  • at_keys
  • at_key_chain
  • at_key_chains
  • all_key_chains
  • key_chains_containing
  • set_at_keys
  • set_at_key_chain
  • overwrite_at_key_chain
  • set_at_key_chains
  • overwrite_at_key_chains
  • prune_keys
  • prune_key_chain
  • prune_key_chains
  • format_key_chains
  • sort_by_key
  • prune_empty
  • prune_key_from_key_chains
  • prune_keys_from_key_chains
  • restructure_key_chains
  • restructure
  • flatten_key_chains
  • copy
  • deep_copy
  • map
  • map_conts
  • dtype
  • with_entries_as_lists
  • reshape_like
  • create_if_absent
  • if_exists
  • try_kc
  • cutoff_at_depth
  • cutoff_at_height
  • slice_keys
  • with_print_limit
  • remove_print_limit
  • with_key_length_limit
  • remove_key_length_limit
  • with_print_indent
  • with_print_line_spacing
  • with_default_key_color
  • with_ivy_backend
  • set_ivy_backend
  • show
  • show_sub_container

Add Pointwise ops to PyTorch Frontend

Add Pointwise ops to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/pointwise\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_pointwise\_ops.py
  • ivy/functional/frontends/torch/\_\_init\_\_.py
  • ivy/functional/frontends/torch/non\_linear\_activation\_functions.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_non\_linear\_activation\_functions.py
  • ivy\_tests/test\_ivy/test\_stateful/test\_activations.py

Add Ivy Container Static Methods

Add Ivy Container Static Methods:

  • list_join
  • list_stack
  • unify
  • concat
  • stack
  • combine
  • diff
  • structural_diff
  • multi_map
  • common_key_chains
  • identical
  • assert_identical
  • identical_structure
  • assert_identical_structure
  • identical_configs
  • identical_array_shapes
  • from_disk_as_hdf5
  • from_disk_as_pickled
  • from_disk_as_json
  • h5_file_size
  • shuffle_h5_file
  • reduce
  • flatten_key_chain
  • trim_key

Add BLAS and LAPACK Operations to PyTorch Frontend

Add BLAS and LAPACK Operations to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

Note: If the function to be implemented has identical behavior to another PyTorch function, you should simply keep an alias in the blas\_and\_lapack\_ops.py file rather than creating a duplicate implementation.
For example:
torch.det is defined as an alias of torch.linalg.det in the official docs, and so it is defined as shown below
https://github.com/unifyai/ivy/blob/7c28666a4ff161117e7b9e4104f08be3bd7cad26/ivy/functional/frontends/torch/blas\_and\_lapack\_ops.py#L93

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/blas\_and\_lapack\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_blas\_and\_lapack\_ops.py

Add Nest Functions to Ivy Frontend

Add Nest Functions to Ivy frontend:

  • index_nest
  • set_nest_at_index
  • map_nest_at_index
  • multi_index_nest
  • set_nest_at_indices
  • map_nest_at_indices
  • nested_indices_where
  • all_nested_indices
  • map
  • nested_map
  • copy_nest

Add Pooling Layers

Would be better to be able to add pooling in the layers, like MaxPool2D.

ivy.torch.use not exist

I have worked around ivy for some time and found the idea of integrating multiple frameworks very intersting and useful. I have noticed the following error on my machine. The following code does not work properly:

import ivy
import torch
import numpy as np

with ivy.numpy.use:
    x = np.array([0.])
    y = ivy.cos(x) 

with ivy.torch.use:
    x = torch.tensor([0.])
    y = ivy.cos(x) 

The above code emits the error: module 'ivy' has no attribute 'numpy'. This error is only resolved when I set the framework to numpy. Moreover, it seems that if I set the framework to torch, there is still no variable named use in ivy.torch. I have looked at the implementation and found this problem a bit weird, since the use variable seems to be declared in each module.

Thank you for viewing this request.

Add Gradient Functions + Classes to Ivy Frontend

Add Gradient Functions + Classes to Ivy frontend:

  • GradientTracking

Gradient Mode

  • with_grads
  • set_with_grads
  • unset_with_grads

Variables

  • variable
  • is_variable
  • variable_data
  • inplace_update
  • inplace_decrement
  • inplace_increment
  • stop_gradient

AutoGrad

  • execute_with_gradients

Optimizer Steps

  • adam_step

Optimizer Updates

  • optimizer_update
  • gradient_descent_update
  • lars_update
  • adam_update
  • lamb_update

Add Multi-Device Functions + Classes to Ivy Frontend

Add Multi-Device Functions + Classes to Ivy frontend:

Multi-Device

  • MultiDev
  • MultiDevItem
  • MultiDevIter
  • MultiDevNest

Device Distribution

  • DevDistItem
  • DevDistIter
  • DevDistNest
  • dev_dist_array
  • dev_dist
  • dev_dist_iter
  • dev_dist_nest

Device Cloning

  • DevClonedItem
  • DevClonedIter
  • DevClonedNest
  • dev_clone_array
  • dev_clone
  • dev_clone_iter
  • dev_clone_nest

Device Unification

  • dev_unify_array
  • dev_unify
  • dev_unify_iter
  • dev_unify_nest

Device Mappers

  • DevMapper
  • DevMapperMultiProc

Device Manager

  • DevManager

Profiler

  • Profiler

Add Creation Ops to PyTorch Frontend

Add creation ops to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/creation\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_creation\_ops.py

Add Dropout functions to PyTorch Frontend

Add Dropout functions to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/nn/functional/dropout\_functions.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_dropout\_functions.py

Add Loss functions to PyTorch Frontend

Add Loss functions to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/loss\_functions.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_loss\_functions.py
  • ivy/functional/frontends/torch/nn/functional/loss\_functions.py

Add Functions to core API

Add new Ivy functions:

general

  • is_floating_point
  • is_nonzero
  • set_default_dtype
  • get_default_dtype
  • numel
  • full
  • full_like

random

  • bernoulli
  • poisson
  • randperm

math

  • copysign
  • deg2rad
  • rad2deg

Add Device Functions to Ivy Frontend

Add Device Functions to Ivy frontend:

Device Queries

Array Printing:

  • get_all_arrays_on_dev
  • num_arrays_on_dev
  • print_all_arrays_on_dev

Retireval:

  • dev
  • dev_str

Conversion:

  • dev_to_str
  • str_to_dev

Memory:

  • clear_mem_on_dev
  • total_mem_on_dev
  • used_mem_on_dev
  • percent_used_mem_on_dev

Utilization:

  • dev_util

Availability:

  • gpu_is_available
  • num_cpu_cores
  • num_gpus
  • tpu_is_available

Default Device

  • default_device
  • set_default_device
  • unset_default_device

Device Allocation

  • to_dev

Function Splitting

  • split_factor
  • set_split_factor
  • split_func_call

Add Indexing, Slicing, Joining, Mutating Ops to PyTorch Frontend

Add indexing, slicing, joining, mutating ops to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/indexing\_slicing\_joining\_mutating\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_indexing\_slicing\_joining\_mutating\_ops.py
  • ivy/array/experimental/manipulation.py
  • ivy/container/experimental/manipulation.py
  • ivy/functional/backends/jax/experimental/manipulation.py
  • ivy/functional/backends/numpy/experimental/manipulation.py
  • ivy/functional/backends/tensorflow/experimental/manipulation.py
  • ivy/functional/backends/torch/experimental/manipulation.py
  • ivy/functional/ivy/experimental/manipulation.py

Add General Functions to Ivy Frontend

Add General Functions to Ivy frontend:

  • get_referrers_recursive
  • array
  • is_array
  • copy_array
  • array_equal
  • arrays_equal
  • equal
  • to_numpy
  • to_scalar
  • to_list
  • shape
  • get_num_dims
  • minimum
  • maximum
  • clip
  • clip_vector_norm
  • clip_matrix_norm
  • round
  • floormod
  • floor
  • ceil
  • abs
  • argmax
  • argmin
  • argsort
  • cast
  • arange
  • linspace
  • logspace
  • concatenate
  • flip
  • stack
  • unstack
  • split
  • repeat
  • tile
  • constant_pad
  • zero_pad
  • fourier_encode
  • swapaxes
  • transpose
  • expand_dims
  • where
  • indices_where
  • isnan
  • value_is_nan
  • has_nans
  • reshape
  • broadcast_to
  • squeeze
  • zeros
  • zeros_like
  • ones
  • ones_like
  • one_hot
  • cross
  • matmul
  • cumsum
  • cumprod
  • identity
  • meshgrid
  • scatter_flat
  • scatter_nd
  • gather
  • gather_nd
  • linear_resample
  • exists
  • default
  • try_else_none
  • arg_names
  • match_kwargs
  • dtype
  • dtype_to_str
  • dtype_str
  • cache_fn
  • current_framework_str
  • einops_rearrange
  • einops_reduce
  • einops_repeat
  • get_min_denominator
  • set_min_denominator
  • stable_divide
  • get_min_base
  • set_min_base
  • stable_pow
  • multiprocessing
  • set_queue_timeout
  • queue_timeout
  • tmp_dir
  • set_tmp_dir
  • get_all_arrays_in_memory
  • num_arrays_in_memory
  • print_all_arrays_in_memory
  • container_types

Add Ivy Container Built-in Methods

Add Ivy Container Built-in Methods:

  • repr
  • dir
  • getattr
  • setattr
  • getitem
  • setitem
  • contains
  • pos
  • neg
  • pow
  • rpow
  • add
  • radd
  • sub
  • rsub
  • mul
  • rmul
  • truediv
  • rtruediv
  • floordiv
  • rfloordiv
  • abs
  • lt
  • le
  • eq
  • ne
  • gt
  • ge
  • and
  • rand
  • or
  • ror
  • invert
  • xor
  • rxor
  • getstate
  • setstate

Add Non-linear activation functions to PyTorch Frontend

Add Non-linear activation functions to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

Add Vision functions to PyTorch Frontend

Add Vision functions to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/vision\_functions.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_vision\_functions.py
  • ivy/functional/frontends/torch/nn/functional/vision\_functions.py

Add Layer Functions to Ivy Frontend

Add Layer Functions to Ivy frontend:

Linear

  • linear

Dropout

  • dropout

Attention

  • scaled_dot_product_attention
  • multi_head_attention

Convolutions

  • conv1d
  • conv1d_transpose
  • conv2d
  • conv2d_transpose
  • depthwise_conv2d
  • conv3d
  • conv3d_transpose

LSTM

  • lstm_update

"Quick Start" issue

Avoid other changes when changing frameworks except ivy.set_framework(). In the example, Quick Start, if I want to run it in tensorflow, except changing 'torch' to 'tensorflow' for ivy.set_framework(), I have to change the shape of x_in from [3] to [1, 3].

Add Reduction ops to PyTorch Frontend

Add Reduction ops to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/reduction\_ops.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_reduction\_ops.py

Add Pooling functions to PyTorch Frontend

Add Pooling functions to PyTorch frontend:

_

Please keep in mind that the proper way to link an issue to this list is to comment "- [ ] #issue_number" while the issue's title only includes the name of the function you've chosen.

_

The main file paths where these functions are likely to be added are:

  • ivy/functional/frontends/torch/nn/functional/pooling\_functions.py
  • ivy\_tests/test\_ivy/test\_frontends/test\_torch/test\_pooling\_functions.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.