【问题标题】:Creating a Numpy Dataset创建一个 Numpy 数据集
【发布时间】:2021-01-20 11:08:04
【问题描述】:

我对 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)

我的理解是我需要创建 2 个张量,其中包含:

  1. 我所有的输入数组和
  2. 所有输出向量。

但我不确定哪个 tensorflow 函数能最有效地做到这一点。

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    只需创建两个列表:

    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) 
    

    【讨论】:

    • 太棒了。这样可行!现在我的数据集如下所示:。当我运行 model.fit() 时,由于数据集无限,它给了我一个错误。这是为什么呢?
    • @Flitschi 太棒了!请采纳答案
    • 抱歉,您看到我的信息了吗?我的数据集现在不应该是有限的吗?
    • @Flitschi 错误信息是什么?添加您的.fit() 调用代码。创建一个新问题
    猜你喜欢
    • 2011-02-16
    • 2016-03-25
    • 1970-01-01
    • 2017-12-30
    • 2020-04-03
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    相关资源
    最近更新 更多