Release v0.3.0
Contributors
Thanks to all of you !
🥡 About the operators
Abs
Forward kernel !74 (merged) solved by Olivier BICHLER
And
Forward kernel !75 (merged) solved by Houssem Rouis
ArgMax
Forward kernel !75 (merged) solved by Houssem Rouis
Bitshift
Forward kernel !88 (merged) solved by Noam Zerah
Constant Of Shape
Forward kernel !84 (merged) solved by Grégoire Kubler
Conv1D
Backward kernel !70 (merged) solved by Olivier Bichler
ConvDepthWise1D
Backward kernel !70 (merged) solved by Olivier Bichler
ConvDepthWise1D
Backward kernel !70 (merged) solved by Olivier Bichler
FC
Removed NoBias attribute aidge_core!143 (merged) solved by Olivier Bichler
All conv operators
Removed NoBias Arguments aidge_core!143 (merged) solved by Olivier Bichler
Gridsample
Forward kernel !77 (merged) solved by Maxence Naud
Log / Ln
Forward & Backward kernel (for BCE loss support) !68 (merged)) solved by Olivier Antony
⚠ This operator is named Ln because Log exists already in aidge core in form of logging. This will be fixed in future release
Mul
Backward kernel !85 (merged) solved by Jerome Hue
PAD 1D
Forward kernel !70 (diffs) solved by Olivier Bichler
Relu
Backward kernel
- First draw !67 (merged) solved by Olivier Antoni
- Fix missing gradient input !59 (merged) solved by Cyril Moineau
Sigmoid
Backward and Forward kernels in !67 (merged) and !69 (merged)) solved by Olivier Antoni
Slice
Moved implementation to cpu backend (which was moved to core in aidge_core!104 (merged)) & added support for step attribute !65 (diffs) solved by Houssem Rouis
Tanh
Backward kernel !67 (merged) solved by Olivier Antoni
ReduceMean
Handle case where axes input is a "scalar tensor" Learning backend cuda solved by Unassigned
ReduceSum
Forward kernel !75 (merged) solved by Houssem Rouis
SoftMax
Enhanced numerical stability !76 (merged) solved by Olivier BICHLER
Fold
Forward kernel !72 (merged) solved by Olivier BICHLER
Moved implementations to core
Several Operator got moved to aidge core as their implementation are backend agnostic
- Concat !54 (commits) solver by Olivier Bichler
- Gather !54 (commits) solver by Olivier Bichler
- Memorize !54 (commits) solver by Olivier Bichler
- Pop !54 (commits) solver by Olivier Bichler
- Reshape !54 (commits) solver by Olivier Bichler
- Transpose !65 (diffs) solved by Olivier Bichler
🧰 Features
🦖 MAJOR
Rework of Registrar led to refactor of OperatorImpl
Refactor OperatorImpl for backend/export](!79 (merged)) solved by Olivier BICHLER
Propagating this mr changes, now :
- The operators kernel source files are merged in :
OPImpl_kernels.hpp
-
OPImpl.cpp
is mostly unchanged. - The OPImpl.hpp which was mostly boilerplate code is factorised in the REGISTRAR macro. Example with Add operator :
namespace Aidge {
// Operator implementation entry point for the backend
using AddImpl_cpu = OperatorImpl_cpu<Add_Op,
void(const std::vector<const void*>, const std::vector<std::vector<std::size_t>>&, const std::size_t, const std::vector<std::size_t>&, void*)>;
// Implementation entry point registration to Operator
REGISTRAR(Add_Op, "cpu", Aidge::AddImpl_cpu::create);
} // namespace Aidge
Build process
NO API CHANGES
-
!64 (merged) solved by Grégoire Kubler
- CI support for automatic packaging and deploy
- CI files are now common to every project to ease integration of more static analysis tools
- Support for new pip compilations options (detailed in new
README.md
)
- Support for editable installs aidge_onnx!64 (merged) solved by Christophe Guillon
-
aidge_backend_cpu
do not rely on its ownpybind
library anymore but onaidge_core
's one instead : !89 (merged) solved by Christophe Guillon
🦎 MINOR
Attribute accessors
API CHANGES
The new way to access attributes introduced in aidge_core!145 (diffs) has been propagated in aidge_backend_cpu
effectively changing the signature of forward kernels functions.
Updated information for C++ compilation in readme
!86 (diffs) solved by Jerome Hue
🔥 Fixes
- Clearer error message for when one of the gradients of inputs / outputs of FC is missing !60 (merged) solved by Cyril Moineau
- Mising link to fmt library led to python import failure : !55 (diffs)
Operator
Pow
Fixed : backaward kernel was looking for a forward function !90 (merged) solved by Houssem Rouis
Pad
X and Y dimensions were inverted in forward kernel !87 (merged) solved by Olivier BICHLER