我对Tensorflow比较陌生。我想创建自己的数据集。它包含60000个numpy数组(13x44)用于输入和60000个输出向量(58x1)。一个示例可以加载my_data()
函数。
def build_dataset(file, param, batch_size):
# Create tf data set
ds = tf.data.Dataset.from_tensor_slices((file, param))
ds = ds.shuffle(N_shuffle_buffer)
ds = ds.batch(batch_size).repeat().prefetch(N_prefetch)
return ds
for i in range(len(mfcc_list)):
m,p=my_data(mfcc_list[i],parameter_list[i])
mfccs= #??????#
parameters= #?????#
train_ds = build_dataset(mfccs[0:N_training_examples],
parameters[0:N_training_examples], batch_size)
validation_ds = build_dataset(mfccs[N_training_examples:N_training_examples+N_validation_examples],
parameters[N_training_examples:N_training_examples+N_validation_examples],
batch_size)
test_ds = build_dataset(mfccs[N_training_examples+N_validation_examples:],
parameters[N_training_examples+N_validation_examples:], batch_size)
我的理解是,我需要创建两个张量,其中包含:
- 所有的输入数组和
- 所有输出向量。
但我不确定哪一个tensorflow函数将最有效地做到这一点。
创建两个列表:
mfccs = []
parameters = []
for i in range(len(mfcc_list)):
m,p=my_data(mfcc_list[i],parameter_list[i])
mfccs.append(m)
parameters.append(p)