Uh oh!
There was an error while loading. Please reload this page.
GH-15483: [C++] Add a Fixed Shape Tensor canonical ExtensionType - #8510
Conversation
Uh oh!
There was an error while loading. Please reload this page.
jorisvandenbossche
commented
Oct 30, 2020
Currently, only the shape is stored. Is this enough? That does a assume a fixed row major order? |
rok
commented
Oct 30, 2020
I think we either assume that or also store strides / dimension order. I am not sure how dimension order changes are done in other frameworks (TF, pytorch, etc.) but I would assume they don't reorder tensors in memory. So I would go for storing strides. |
b5a8643 to
a5b19d7Comparesjperkins
commented
Oct 5, 2021
In the context of testing metadata equality withinin multiple parquet files in a dataset, equality on shape and strides may be a very strict requirement. Would relaxing the equality requirement to only compare the number of tensor dimensions negatively impact the design? |
rok
commented
Oct 5, 2021
Good point. By tensor dimensions you mean shape, right? |
sjperkins
commented
Oct 5, 2021
I was thinking even looser: def__eq__(self, other):
len(self.shape) ==len(other.shape) |
rok
commented
Oct 5, 2021
Done. |
Uh oh!
There was an error while loading. Please reload this page.
rok
commented
Dec 10, 2021
@jorisvandenbossche@sjperkins@pitrou is there interest to get this in? |
pitrou
commented
Dec 13, 2021
Currently we don't ship any standard extension types. I recommend discussing this on the mailing-list. |
Hoeze
commented
Jan 19, 2022
fyi, the ray project created its own Tensor type: |
wesm
commented
Jan 19, 2022
Indeed I think having a built-in Tensor value type (implemented using extension arrays) in Arrow/pyarrow would be better than having third party projects rolling their own. |
frreiss
commented
Jan 24, 2022
@wesm would there be interest in folding the Pandas side of these third-party extensions into Pandas also? |
jorisvandenbossche
commented
Jan 25, 2022
That will be something to discuss in the pandas project. |
rok
commented
Mar 30, 2023
Thanks for the fast review @jorisvandenbossche. I've addressed your points. |
Uh oh!
There was an error while loading. Please reload this page.
rok
commented
Mar 31, 2023
@jorisvandenbossche it seems CI is satisfied. |
AlenkaF
commented
Apr 4, 2023
@rok would it be possible to add a method for |
AlenkaF
left a comment
There was a problem hiding this comment.
I have connected it to Python and it works well 👍
Would be great to have a method for value_type though, as mentioned in a previous comment.
rok
commented
Apr 4, 2023
@AlenkaF sure, I'll add it. |
rok
commented
Apr 4, 2023
@AlenkaF done. |
AlenkaF
commented
Apr 4, 2023
@rok, you are awesome! 👍 |
jorisvandenbossche
left a comment
There was a problem hiding this comment.
The failing CI is unrelated? (it seems the R failures are being worked on, and the C++ failures are related to LLVM update #34768)
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Batash0
commented
Apr 4, 2023
Great news! |
Co-authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>
rok
commented
Apr 4, 2023
They seem unrelated indeed and I don't think they obscure any new problems as the change was fairly minimal. |
jorisvandenbossche
commented
Apr 4, 2023
Merged after 2.5 years ;) Thanks @rok! |
rok
commented
Apr 4, 2023
Thanks for all the input and reviews everyone, very happy to see this merged! @jorisvandenbossche now let's talk about strides @ #34797 :D |
ursabot
commented
Apr 5, 2023
Benchmark runs are scheduled for baseline = 81c828e and contender = a84a39b. a84a39b is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
rok
commented
Aug 17, 2023
We started a mailing list discussion about potential |
Uh oh!
There was an error while loading. Please reload this page.