TensorFlow Keras报错:'int'与'tuple'不支持'>='运算
问题解决:TypeError: '>=' not supported between instances of 'int' and 'tuple'
错误原因
报错核心是keras_preprocessing.text.py中尝试用整数i和元组num_words做>=比较,说明你的Tokenizer对象初始化时,num_words参数被错误地设置成了元组类型(比如多写了括号,写成num_words=(xxxx,)),而非预期的整数。
解决方案
- 检查Tokenizer初始化代码
找到你创建Tokenizer的代码段,确保num_words参数是整数:
# 正确写法 tokenizer = Tokenizer(num_words=10000, oov_token="<OOV>") # 错误写法(会导致num_words变成元组) # tokenizer = Tokenizer(num_words=(10000,), oov_token="<OOV>")
- 验证参数类型
可以打印tokenizer.num_words的类型确认:
print(type(tokenizer.num_words)) # 正常输出应为 <class 'int'>,若输出 <class 'tuple'>则说明参数设置错误
- 检查函数调用传递
如果tokenizer是通过其他函数传递到seq_pad_and_trunc的,也要检查传递过程中是否意外将num_words转成了元组。
内容的提问来源于stack exchange,提问作者deniz konuk
相关产品推荐
相关产品推荐

