类型错误:tf__normalize_img() 缺少 1 个必需的位置参数:'label'
Posted
技术标签:
【中文标题】类型错误:tf__normalize_img() 缺少 1 个必需的位置参数:\'label\'【英文标题】:TypeError: tf__normalize_img() missing 1 required positional argument: 'label'类型错误:tf__normalize_img() 缺少 1 个必需的位置参数:'label' 【发布时间】:2022-01-20 20:10:42 【问题描述】:我是深度学习的新手,我在使用 Tensorflow Oxford Flowers 数据集时在对图像进行规范化时遇到了错误。我按照 Tensorflow 网站上有关如何规范化图像的指南进行操作,但错误仍然存在。
TypeError Traceback (most recent call last)
<ipython-input-31-784175b58712> in <module>
2 return tf.cast(image, tf.float32) / 255., label
3
----> 4 ds_train = ds_train.map(
5 normalize_img, num_parallel_calls=tf.data.AUTOTUNE)
6
紧随其后
TypeError: in user code:
TypeError: tf__normalize_img() missing 1 required positional argument: 'label'
我提到了https://www.tensorflow.org/datasets/keras_example。
我的代码:
#Normalizing the images
def normalize_img(image, label):
return tf.cast(image, tf.float32) / 255.0, label
AUTOTUNE = tf.data.experimental.AUTOTUNE
BATCH_SIZE = 128
# Setup for train dataset
ds_train = ds_train.map(normalize_img, num_parallel_calls=AUTOTUNE)
ds_train = ds_train.cache()
ds_train = ds_train.shuffle(ds_info.splits["train"].num_examples)
ds_train = ds_train.batch(BATCH_SIZE)
ds_train = ds_train.prefetch(AUTOTUNE)
# Setup for test Dataset
ds_test = ds_train.map(normalize_img, num_parallel_calls=AUTOTUNE)
ds_test = ds_train.batch(128)
ds_test = ds_train.prefetch(AUTOTUNE)
【问题讨论】:
【参考方案1】:定义normalize_func
函数时,定义了两个参数,即image
和label
。因此,当您调用该函数时,您需要指定这些参数是什么。但是当你在这一行调用函数时没有指定这些参数:-
ds_train = ds_train.map(normalize_img, num_parallel_calls=AUTOTUNE)
这是您收到错误 TypeError: tf__normalize_img() missing 1 required positional argument: 'label'
的原因,因为您在调用函数时没有指定 label
参数。
【讨论】:
以上是关于类型错误:tf__normalize_img() 缺少 1 个必需的位置参数:'label'的主要内容,如果未能解决你的问题,请参考以下文章
TF/keras 子类在 Eager Execution 中完美运行,没有它会引发大量无法追踪的错误?
[我只是简单地输入了tf.Tensor Tensorflow 2.2.0中给出的代码,这是我的代码:请为错误提供解决方案
Tensorflow 错误:The flag 'xxx' is defined twice
Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表