hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Updates to requirements and dro… (compare)
hameerabbasi on master
Fix errors on MSVC. (compare)
hameerabbasi on master
Fix errors on MSVC. (compare)
hameerabbasi on master
Fix errors on MSVC. (compare)
hameerabbasi on master
update docs Fix up Azure. Merge pull request #37 from san… (compare)
[Unknown, Quansight]
Pull request opened by sangyx
Quansight-Labs/udiff#31
I have added the diff function of np.stack
.
When we extend the code to higher-order derivatives, the situation becomes a bit more complicated. There are some places to improve:
• In some derivative functions, the program may enter an infinite loop. For example, np.sum
is used when registering the gradient of np.sum
. I plan to add depth attributes to DiffArray
or to()
to control the order of gradients.
• The function registered in nograd_functions will register the gradient when it is called in the form of ufunc.__call__
.
• Consider a cleaner way to control whether the calculation should derive.
Do you have any idea about the above questions?
[Unknown, Quansight]
Pull request opened by joaosferreira
Quansight-Labs/unumpy#70
This pull request adds multimethods for statistical functions. The multimethods added are the following:
Order statistics
• percentile
• nanpercentile
• quantile
• nanquantile
Averages and variances
• median
• average
• mean
• nanmedian
• nanmean
• nanstd
• nanvar
Correlating
• corrcoef
• correlate
• cov
Histograms
• histogram
• histogram2d
• histogramdd
• bincount
• histogram_bin_edges
• digitize
A few things to discuss:
dtype
not being dispatched in std
and var
? Other multimethods that use _reduce_argreplacer
also don't dispatch dtype
.min
and max
seem to be equal to amin
and amax
that this PR intends to add:In [2]: onp.amin
Out[2]: <function numpy.amin(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)>
In [3]: onp.min
Out[3]: <function numpy.amin(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)>
median
that reduce array slices along an axis might be the easier ones for now. As I understand these require a for loop over the given axis, so in terms of complexity it would be O(n) where n is the length of that dimension.master
*unumpy.linalg
as demonstrated by the fixed tests.
master
*master
*[Unknown, Quansight]
Pull request opened by peterbell10
Quansight-Labs/uarray#247
Should fix the segfaults in Quansight-Labs/udiff#31
Returning selected_backend.get()
instead of .release()
from determine_backend
meant the refcount was decreased without dropping the reference. The net result is decreasing the refcount of the backend once for each call to determine_backend
. Eventually it gets GC'd and the python interpreter accesses invalid memory causing the segfault.
The GC issues are unrelated but were spotted while debugging this. The context managers had tp_traverse
defined but the GC will only use these if the type has the Py_TPFLAGS_HAVE_GC
flag set.
Reviewers: @hameerabbasi
[Hameer Abbasi, Quansight] Hello, Kartik. Are you looking for GSoC? If so, the selections are already over and have been for some time.
If not, head on over to https://labs.quansight.org/blog/2019/07/uarray-update-api-changes-overhead-and-comparison-to-array_function/ and read the blog. Play around with it, explore, and come back to us with any specific questions you may have.
master
*master
*master
*[Unknown, Quansight]
Issue opened by hameerabbasi
Quansight-Labs/udiff#32
@sangyx I noticed quite a bit of comments in Quansight-Labs/udiff#31 that contained commented out code.
If it's code for functionality you're working on, it's best to put it in a branch, that you'll merge later. If it's useless code, I'd just delete it.
Assignees: sangyx
[Unknown, Quansight]
Pull request opened by joaosferreira
Quansight-Labs/unumpy#73
This picks up the work started in Quansight-Labs/unumpy#46 that added multimethods for random routines. Most of the multimethods added in the previous PR where revised and hopefully some corrections were made. These were mostly changing the argument replacers and marking arguments for dispatching. This PR also adds two classes, RandomState
and Generator
. The multimethods added are manifold and are listed below:
Seeding and State
• get_state
• set_state
• seed
Simple random data
• rand
• randn
• randint
• random_integers
• random_sample
• choice
• bytes
Permutations
• shuffle
• permutation
Distributions
• beta
• binomial
• chisquare
• dirichlet
• exponential
• f
• gamma
• geometric
• gumbel
• hypergeometric
• laplace
• logistic
• lognormal
• logseries
• multinomial
• multivariate_normal
• negative_binomial
• noncentral_chisquare
• noncentral_f
• normal
• pareto
• poisson
• power
• rayleigh
• standard_cauchy
• standard_exponential
• standard_gamma
• standard_normal
• standard_t
• triangular
• uniform
• vonmises
• wald
• weibull
• zipf
Notes:
random
, ranf
and sample
. Although they are documented as aliases for random_sample
they all reference different objects and so they have their own multimethods.Generator
class is commented out in the tests because I'm not entirely sure on what argument I should pass it.master
*master
*master
*[Unknown, Quansight]
Pull request opened by sangyx
Quansight-Labs/udiff#35
Hi, I have updated the docs. While I found my setting doctest_global_setup
in docs/conf.py does not work. Could you help check? Many thanks!
Besides, I want to change the diff function form of JVP from lambda g, ans, x, y:
to lambda ans, x, y: lambda g:
, so as to separate the calculation of the result from the derivation process and solve the limitations of grad_variables, jacobian, and higher derivative. But this may not be done before September, so I will submit the GSoC result document first.
master
*master
*