我打算用tensorflow和librosa做一些事情,但是当我使用 TFRecore 时,出现了错误。google了也没找到答案,想在这里咨询一下。
def create_record():
writer = tf.python_io.TFRecordWriter("./music_data/train.tfrecords")
for index, class_name in enumerate(classes):
class_path = "f:/Classical music/"+class_name+"/dataset/"
for a in os.listdir(class_path):
wav_path = class_path + a
print(wav_path)
wav,sr = librosa.load(wav_path,sr=None)
mfcc = librosa.feature.mfcc(wav,sr,n_mfcc=128) # is a numpy.ndarray ,with shape (128,1293)
print(index,mfcc.shape,type(mfcc))
# mfcc_list=[]
# for i in range(mfcc.shape[0]):
# mfcc_list.append([float(x) for x in mfcc[i]])
example = tf.train.Example(
feartures = tf.train.Features(feature={
"label":tf.train.Feature(int64_list=tf.train.Int64List(value=[index])),
"mfcc":tf.train.Feature(float_list=tf.train.FloatList(value=mfcc.tolist()))
}))
writer.write(example.SerializeToString())
writer.close()
Run Code Online (Sandbox Code Playgroud)
TypeError Traceback (most recent call last)
<ipython-input-137-9bb818ee02d5> in <module>()
----> 1 …Run Code Online (Sandbox Code Playgroud)