【问题标题】:Tensorflow: TypeError: 'RepeatDataset' object is not callable - whyTensorflow:TypeError:'RepeatDataset'对象不可调用 - 为什么
【发布时间】:2021-12-15 23:02:41
【问题描述】:

这是我的模型:

从第 39 行开始

def make_input_fn(data_df, label_df, num_epochs=10, shuffle=True, batch_size=32):
def input_function():
    ds = tf.data.Dataset.from_tensor_slices((dict(data_df), label_df))
    if shuffle:
        ds = ds.shuffle(1000)
    ds = ds.batch(batch_size).repeat(num_epochs)
    return ds()
return input_function()

train_input_fn = make_input_fn(dftrain, y_train)

在第 49 行结束

这是我的错误:

Traceback (most recent call last): File, line 49, in <module> train_input_fn = make_input_fn(dftrain, y_train) File, line 46, in make_input_fn return input_function() File, line 45, in input_function return ds() TypeError: 'RepeatDataset' object is not callable

【问题讨论】:

  • 我不认为ds 是可调用的。将return ds() 更改为return ds
  • 谢谢 - 我试过了。我似乎收到另一个以“AttributeError:模块'tensorflow.tools.docs.doc_controls'没有属性'inheritable_header'结尾的详细错误

标签: python-3.x tensorflow typeerror


【解决方案1】:

变量ds 不可调用,尝试将input_function() 中的return ds() 更改为return ds
当您尝试索引 Integer 或 Float 变量或尝试使用 () 使变量可调用时,通常会发生这些类型的错误
例如

var=10
打印(var())
var2=15
打印(var2[0])

以上是您遇到的错误的简化示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    相关资源
    最近更新 更多