python中如何将​matlab.dou​ble转化为tens​or

8 vues (au cours des 30 derniers jours)
qiao cheng
qiao cheng le 30 Août 2022
Réponse apportée : Dinesh le 6 Juin 2023
eng = matlab.engine.start_matlab() # 可以调用matlab的内置函数。
output = eng.test(indata)
上述代码中output类型为matlab.double,如果想要将其转化为pytorch中的tensor类型,该怎么做?

Réponses (1)

Dinesh
Dinesh le 6 Juin 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.

Catégories

En savoir plus sur MATLAB 中的 Python 库 dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!