Error while calling a Python Module

4 views (last 30 days)
Avinash Siravuru
Avinash Siravuru on 10 Feb 2017
Edited: ARUN on 24 Feb 2021
The Setup: I have a deep net model trained in python (using keras and tensorflow packages). I saved the model file as a json file and weights in h5 format. I wrote a simple Python script that takes two arrays as input, runs the learned model and returns a prediction. My main file in matlab is providing the inputs to the python file, calling it to return a prediction, and then continues to do further computation on it.
The Problem: Everytime I call the python module from matlab, I get the following error: "Python Error: AttributeError: 'array.array' object has no attribute 'reshape'" My model in python requires a 4D array. Since I figured earlier, the hard way, that one can't pass a multi-dimensional array from matlab to python, I'm passing a 1D array to python and doing the necessary conversion there itself. While, the error says I can't reshape, when I run the same commands through the python interpreter, they work.
Any help to resolve this is much appreciated. Thanks!
  2 Comments
Robert Snoeberger
Robert Snoeberger on 10 Feb 2017
Edited: Robert Snoeberger on 10 Feb 2017
To respond to your comment "when I run the same commands through the python interpreter, they work", the following is a way to hit the same error with the python interpreter.
>>> import array
>>> a = array.array('d', range(20))
>>> a.reshape((2,10))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'array.array' object has no attribute 'reshape'
>>>
Maybe a solution for the above will fix your issue.
ARUN
ARUN on 24 Feb 2021
Edited: ARUN on 24 Feb 2021
Hello, I am doing exactly the same, but when I call the python script with the keras model loaded as .h5 from Matlab, I am getting a Matlab error. Can you suggest me how I can solve this issue?
Thanks in advance!

Sign in to comment.

Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!