我正在做一个从mp3文件中学习的tensorflow项目。我已经打开二进制数据并读取它。然后我已经将二进制转换为ascii。那么我已经确认了转换。但是当我把它附加到numpy数组时,它会附加空白数据。
dataset = np.ndarray(shape=(len(image_files)),
dtype=np.dtype('a16'))
f = open(image_file, 'rb')
temp = f.read()
# sound = AudioSegment.from_mp3(image_file)
# raw_data = sound._data
audio_array = binascii.b2a_base64(temp)
# print(audio_array)
np.append(dataset, audio_array)
print(dataset)
print(COUNT)
当我print(audio_array)
时,我得到以下
czDne2AxSfpq0DMK9MjrzBw2/F6sMWm/XD47FTN0aXUkq/kIKP2mK3satPUWf9/zTV/t/dTf1Lf//uSBOmNA3pZU6sPOvJ0q0p2PUn2SfFjVAesq8FQrCuo9BUh1f9zRCt//yh7OOuhMogrixdsGrTHd+tGSSaAkPrfqnQ48vFMd6fSBOErLeOipQXe7zkuSt7aFR5J7v3MA3b+gMYpO32b0Kxo/ee/WcN/727XSS/p/1H/8hf5cBCEwWAHBfxdhEKHVomiae73PzIai5...
但当我去打印dataset
时,我会得到以下内容:
['' '' '' ..., '' '' '']
2
np.append(dataset, audio_array)
返回一个新数组;它不修改CCD_ 4。所以改变
np.append(dataset, audio_array)
至
dataset = np.append(dataset, audio_array)
尝试使用python的help
函数,它真的很有帮助。在这种情况下,请注意:
help(numpy.append)
输出:……
Returns
-------
append : ndarray
A copy of `arr` with `values` appended to `axis`. Note that
`append` does not occur in-place: a new array is allocated and
filled. If `axis` is None, `out` is a flattened array.
这意味着传递的数组不会被修改,而是被复制,您必须将返回值存储在数据集中:
dataset = numpy.append(dataset, audio_array)