-
Notifications
You must be signed in to change notification settings - Fork 133
Add linear algebra operations and their derivatives #562
Comments
Hello @dan-zheng, this is not a full list of operations, but it would be good to start with this (all of them implicitly should work as batched versions as well):
|
@dan-zheng , how can I add a new binding here? It is an auto-generated file and I don't see how it was generated. |
[EDITED] that's my bad, "TriangularSolve" is in the RawOpsGenerated.swift file, as well as many other linalg ops. @Shashi456 , yeah, I've checked it. But, it is not clear why for e.g. "TriangularSolve" is not reflected in the RawOpsGenerated.swift file, but "TriangularSolve" is in the ops.pbtxt. Does S4TF uses different protobuf file? |
Swift for TensorFlow uses the same
|
@awav are you working on supporting these ops? could i ask what ops you are working on currently? |
@Shashi456, solvers and trace for now @dan-zheng, you can mark |
@Shashi456, @dan-zheng hello guys, sorry for the delay with PRs for solvers and other promised ops. I'm at NeurIPS and don't have much time to finish the work. Thanks! |
@dan-zheng, |
Hi,
|
Swift for TensorFlow should provide standard linear algebra operations from
tf.linalg
/np.linalg
:tf.linalg.band_part
tf.linalg.cholesky
cholesky
decomposition #563.tf.linalg.cholesky_solve
tf.linalg.diag
(batch support: make batch from batch diagonal)tf.linalg.diag_part
(batch support: extract batch diagonal)tf.linalg.eigh
tf.linalg.logdet
logdet
operation #592.tf.linalg.normalize
tf.linalg.qr
tf.linalg.set_diag
tf.linalg.svd
tf.linalg.trace
tf.linalg.triangular_solve
tf.einsum
tf.eye
Some of these operations are already accessible via TensorFlow bindings, e.g.
_Raw.cholesky
,_Raw.choleskyGrad
.Reference TensorFlow derivative implementations: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/linalg_grad.py
Mirror of TF-980.
If anyone requests support for specific operations, please comment and we add to the checklist!
The text was updated successfully, but these errors were encountered: