首页 > 解决方案 > 如何解决这个 Typeerror?

问题描述

使用 TensorFlow 后端我得到这个 Typeerror,

Traceback (most recent call last):
  File "/home/lwin/speech-emotion/Speech_emotion_recognition_BLSTM-master1/prediction.py", line 36, in <module>
    f = functions.feature_extract((y, sr), nb_samples=1, dataset='prediction')
  File "/home/lwin/speech-emotion/Speech_emotion_recognition_BLSTM-master1/utility/functions.py", line 17, in feature_extract
    f = audioFeatureExtraction.stFeatureExtraction(x, Fs, globalvars.frame_size * Fs, globalvars.step * Fs)
  File "/usr/local/lib/python3.5/dist-packages/pyAudioAnalysis/audioFeatureExtraction.py", line 544, in stFeatureExtraction
    Win =Win.astype(int(Win))
TypeError: only length-1 arrays can be converted to Python scalars

标签: pythontensorflowpyaudioanalysis

解决方案


一般来说,当您尝试将数组传递给需要单个值的函数时,您会收到错误“只有长度为 1 的数组可以转换为 Python 标量”。

如果要应用在数组中的每个项目上接受单个值的函数,可以使用np.vectorize

Win似乎是那个数组,所以Winastype (int) 是正确的转换。


推荐阅读