Run pickle file in matlab

266 views (last 30 days)
Abdulrahman Mohamed
Abdulrahman Mohamed on 12 Jun 2022
Answered: Al Danial on 13 Jun 2022
I have machines learning model developed by python and saved as pickle file how can i run it in matlab
  1 Comment
Jan on 12 Jun 2022
The questions contains too few information to be answered. What exactly is your problem?

Sign in to comment.

Answers (1)

Al Danial
Al Danial on 13 Jun 2022
This shows how to load a pickle file into MATLAB:
pickle = py.importlib.import_module('pickle');
fh ='data.pkl', 'rb')
P = pickle.load(fh); % pickle file loaded to Python variable
mP = py2mat(P); % pickle data converted to MATLAB native variable
The last line uses the py2mat.m utility. I tested this with the file data.pkl , created with this Python program,
#!/usr/bin/env python3
import pickle
import numpy as np
cm = np.array([[2., 3],[0, 1]]) - np.eye(2)*1j
a_list = ['this', 'is', 'a', 'complex', 'matrix', cm]
a_dict = { 1 : 1, 2 : 'two', 'three' : 3}
an_int = 42
some_bytes = b'1ee50ffe2fb5104144142f001a8ca94ae56b90cf'
X = np.arange(12,dtype=np.float16).reshape(3,4)
P = {
'a_list' : a_list,
'a_dict' : a_dict,
'an_int' : an_int,
'some_bytes' : some_bytes,
'X' : X,
with open('data.pkl', 'wb') as fh:
pickle.dump(P, fh, pickle.HIGHEST_PROTOCOL)
which comes from Section 7.13, "Pickle Files", from my book Python for MATLAB Development.
However this merely loads the contents of the pickle file. Running the machine learning model in MATLAB is something else entirely.




Community Treasure Hunt

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

Start Hunting!