Higher rank tensor: how to export and read it as a file?

10 次查看(过去 30 天)
Hello,
I have a rank-3 tensor, say simply
tensor=zeros(dA,dB,dC);
where dA, dB and dC are the respective dimensions. I like to export it as a file and later on import it again to continue some calculation in another Matlab script. How do I do this? As far as I see, dlmwrite, cswwrite and writematrix only work for matrices and give me some error saying "transpose not defined...".
Many thanks!

回答(1 个)

Divyam
Divyam 2023-6-7
If you have access to the tensor toolbox, you can simply use the export_data function to export the tensor data and save it to a file. The following command should work in your case.
export_data(tensor, "tensor_data.tensor")
For more information on exporting and importing tensor data using the tensor toolbox, you can refer to this article: Importing and Exporting Tensor Data (tensortoolbox.com)
  2 个评论
Philipp
Philipp 2023-6-7
Unfortunately I do not have access to the tensor toolbox as I am using Octave... :(
Anyway, I found out that I can use the reshape command as follows:
tensor_new = reshape(tensor,[dA*dB,dC])
then export tensor2 and after importing it again convert back via
tensor = reshape(tensornew,[dA,dB,dC]))
That seems to work well. :) Hopefully, I am not overseeing something...
Divyam
Divyam 2023-6-8
@Philipp that should work well, there shouldn't be any issues with converting a tensor to an array. I dont think that you are overseeing something just keep the dimensions in check.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by