python中如何将matlab.double转化为tensor
Show older comments
eng = matlab.engine.start_matlab() # 可以调用matlab的内置函数。
output = eng.test(indata)
上述代码中output类型为matlab.double,如果想要将其转化为pytorch中的tensor类型,该怎么做?
Answers (1)
Dinesh
on 6 Jun 2023
Hi quio cheng!
To convert a 'matlab.double' variable to a 'Tensor' in Python, you can use the 'numpy' library to first convert the matlab.double to a NumPy array, and then convert the 'NumPy array' to a 'Tensor'.
Start by loading your matlab.double array:
myData = eng.eval("load('{}','cluster_class','par')".format('sampleData.mat'))
With MATLAB R2022a and later, you can convert matlab.double directly to a numpy array:
a = np.array(myData['cluster_class'])
if you are using pytorch then
import torch
x_tensor = torch.tensor(a)
if you are using tensorflow then
import tensorflow as tf
data_tf = tf.convert_to_tensor(a)
Hope this helps!
Thank you.
Categories
Find more on Python Client Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!