Instead of using RecordBatchFileReader, maybe you can try ipc::ReadTensor [1]. [1]: https://github.com/apache/arrow/blob/main/cpp/src/arrow/ipc/reader.h#L583-L595 Sent from Proton Mail for iOS On Fri, Jul 5, 2024 at 02:53, Benjamin Tan <[email protected]> wrote: Hi I am trying to use Apache Arrow as a way to pass tensors between Python and C++. Both are Version 16.1.0 though installed separately (apt-get for C++ and pip for Python).Currently, I am getting the error "Invalid: Not an Arrow file" from using the code below. Thanks in advance for your help!Benjamin Tried to use the following functions in pyarrow.ipc to write pa.Tensors to disk: with pa.OSFile(test_prefix + weight_filename, "wb") as sink: pa.ipc.write_tensor(arrow_weight, sink) with pa.OSFile(test_prefix + bias_filename, "wb") as sink: pa.ipc.write_tensor(arrow_bias, sink) And load from C++ with:std::shared_ptr<arrow::io::ReadableFile> infile; ARROW_ASSIGN_OR_RAISE( infile, arrow::io::ReadableFile::Open(test_prefix + data_path, arrow::default_memory_pool())); ARROW_ASSIGN_OR_RAISE(auto ipc_reader, arrow::ipc::RecordBatchFileReader::Open(infile));
signature.asc
Description: OpenPGP digital signature
