paleolimbot commented on code in PR #33925: URL: https://github.com/apache/arrow/pull/33925#discussion_r1094605329
########## docs/source/format/CanonicalExtensions.rst: ########## @@ -72,4 +72,30 @@ same rules as laid out above, and provide backwards compatibility guarantees. Official List ============= -No canonical extension types have been standardized yet. +Fixed shape tensor +================== + +* Extension name: `arrow.fixed_shape_tensor`. + +* The storage type of the extension: ``FixedSizeList`` where: + + * **value_type** is the data type of individual tensors and + is an instance of ``pyarrow.DataType`` or ``pyarrow.Field``. + * **list_size** is the product of all the elements in tensor shape. + +* Extension type parameters: + + * **value_type** = Arrow DataType of the tensor elements + * **shape** = shape of the contained tensors as a tuple + +* Description of the serialization: + + The metadata must be a valid JSON object including shape of + the contained tensors as an array with key "shape". + + For example: `{ "shape": [2, 5]}` + +.. note:: + + Elements in an fixed shape tensor extension array are stored + in row-major/C-contiguous order. Review Comment: > This array will only look transposed to their users if you need to prevent the copy. Users have always been able to transport tensors if they are willing to keep track of that kind of metadata themselves. One potential use of this is communicating a single view of one very large tensor, for which case copies are expensive and in most cases unnecessary. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org