Releases: joelberkeley/spidr
Releases · joelberkeley/spidr
C XLA release 0.0.10
C XLA release 0.0.10
C XLA release 0.0.9
C XLA release 0.0.9
C XLA release 0.0.8
C XLA release 0.0.8
C XLA release 0.0.7
C XLA release 0.0.7
C XLA release 0.0.1
C XLA release 0.0.1
Release 0.0.6
This is a small release which fixes an incompatibility with a dependency
Tested on Ubuntu 64-bit with Idris2 nightly build and Nx XLA CPU binaries v0.3.0
API changes
- implement non-finite
Bounded
for scalar tensors #332 - add
argmin
,argmax
for finding the index of minina, maxima in a vector #329 - remove
Hashable
implementation forPair
#335
Bug fixes
- fix
min
andmax
for NaN inputs #334
Build changes
Release 0.0.5
Tested on Ubuntu 64-bit with Idris2 nightly build and Nx XLA CPU binaries v0.3.0
API changes
- support execution on GPU #259
- add pure Idris tensor
Literal
for improved shape inference #183 #260 #261 #263 #304 #305 #306 #308 - add support for unsigned 64-bit XLA type
U64
#282 - remove
Each
and#
from element-wise names #232 - hide IO in
eval
and rename totoArray
#241 - hide IO in
toString
; implementShow
forTensor
#242 - add/implement tensor functions
- support for slicing with dynamic (tensor) indices #303
- support for slicing multiple axes at once #269
- unary functions: (inverse-)(hyperbolic-)trigonometric;
recip
;square
#268 select
for choosing values element-wise from two tensors #233cond
for evaluating one of a pair of functions #238transpose
for transposing arbitrary axes #299 #307 #316reverse
for reversing elements along specified tensor axes #286 #307 #316sort
for sorting elements along tensor axes #283(|\)
and(\|)
for solving linear equations with lower- and upper- triangular matrices #228triangle
for fetching the triangular parts of a matrix #229- stateless
uniform
sampling #281 #284 #287 #297 - stateless univariate
normal
sampling #292 #297
- extend
reduce
to operate on multiple axes at once #298 #307 #316 - move runtime shapes from tensor APIs to data constructor #231
- use
Int32
rather thanInt
forS32
#311 - erase proofs where possible #276
- implement Gaussian univariate CDF #239
- remove
Error
interface #255 - replace
Morphism
withReader
in Bayesian optimization tooling #319
Bug fixes
- fix reading/writing
unsigned int
fromxla::Literal
#279 - ensure we can read/write numeric values at XLA bounds #291
Documentation
- add tutorial on basic dependent types for tensors #301
- move installation instructions to INSTALL.md #248
- provide copy-paste installation instructions #321
Build changes
- adopt Idris2 package manager pack, thus using the latest Idris2 build #321
Release 0.0.4
Tested on Ubuntu 64-bit with Idris2 v0.5.1 and Nx XLA CPU binaries v0.3.0
This release implements (or, in some cases, removes) all functions the Tensor
API.
API changes
- introduce Idris counterparts to XLA data types (
S32
,U32
,F64
etc.) for use inTensor
#168. Add custom numerical interfaces to mirrorPrelude
numerical constraints #174 - support boolean primitive type
PRED
#135 - use
List Nat
for tensor shapes #184 #185 - make
dtype
explicit inArray
#156 - make broadcasting explicit #138
- delete the
Variable
mutable tensor type #186 - delete
trace_product
#189,cast_dtype
,inverse
#198,det
#209 - make
ProbabilisticModel
an interface #121 - implement new functions and operators. Most of these APIs have changed during implementation
identity
for constructing identity matrices #199index
for basic tensor indexing #191reshape
for reshaping tensors #192expand
for adding a dimension to aTensor
#193squeeze
for removing dimensions of length one #194slice
for slicing along any one axis #195split
for splitting a tensor in two along a given axis #196concat
for concatenatingTensor
s #197.T
for transposing matrices #208diag
for fetching the diagonal of a matrix #211- element-wise unary functions: absolute value
absEach
#144 #163; numeric negationnegate
#157; natural exponentialexpEach
and logarithmlogEach
#187; add floorfloorEach
, ceilingceilEach
, logisticlogisticEach
, sinesinEach
, cosinecosEach
, hyperbolic tangenttanhEach
, and square rootsqrtEach
#188; boolean negationnotEach
#160 - element-wise binary functions: equality
==#
and inequality/=#
#136; subtraction-
#145; multiplication*#
#134; division/#
#158; comparison>#
<#
>=#
<=#
#143; logical and&&#
and or||#
#160; exponential wrt any base^#
#206; minimumminEach
and maximummaxEach
#179 - division by a constant
/
#158 - multiplication by a constant
*
#142 - functor-like
map
#165, applicative-likemap2
#171 #178 and foldable-likereduce
#176 along with monoid instances forTensor
#180 @@
for matrix and vector multiplication #201trace
for summing along a matrix diagonal #202cholesky
for lower triangular Cholesky decomposition #203(\\)
for solving linear equations wrt triangular matrices #207
Bug fixes
pdf
forGaussian
now uses covariance correctly in exponent #209
Documentation
- expand introduction to Bayesian optimisation in tutorial #172
Build changes
Release 0.0.3
Tested on Ubuntu 64-bit with Idris2 v0.5.1 and Nx XLA binaries v0.2.0
API enhancements
- implement Gaussian PDF (#42)
- refactor distribution functionality (#86)
- replace
Connection
withMorphism
(#89) - improve efficiency of GP training with Cholesky factorization (#93)
- allow any data representation in Bayesian optimization (#100)
- erase as many values as possible (#106)
- simplify namespace names (#107)
- add Matern 5/2 kernel (#109)
- simplify
Distribution
with functional dependencies (#112) - implement conjugate GP regression (#113)
- introduce
Dataset
data type (#115) - add Bayesian optimization loop (#114)
- add XLA backend (#82 #90 #123 #124 #126 #127 #128 #129 #131) with executable implementations for addition (#128) and broadcasting (#130)
Other
Release 0.0.2
API enhancements
- add RBF kernel (#75)
- implement
zero
mean function (#74) - constrain element type of tensors to have corresponding types in backend (#47)
- replace
Maybe
usage withEither
and error types (#45) - add support for squeezing
Tensor
s (#40) - add numerous tensor operators (#39)
- add mutable (linear) tensor
Variable
type and in-place ops (#36) - hide
Tensor
constructor, enabling arbitraryTensor
representation (#34) - implement acquisition functions: (negative) lower confidence bound, probability of feasibility, expected improvement (#24)
Bug fixes
- improve type inference for tensor contraction operator
@@
(#72)
Other