Keras 分词器未出现在导入中

问题描述 投票:0回答:1

我正在尝试使用我训练的模型(.keras)生成字幕,并且遵循以下说明:Link,我没有直接遵循,我使用 Keras 图像字幕代码示例创建并训练了模型并保存使用 GPT4 提供的函数并且它在这方面运行良好。

然后在生成标题时,我尝试 GPT4 给我一些代码示例,但它们不起作用,而且我不明白,所以我做了一些研究并发现了这个Link,然后我跳到生成图像标题并在代码说我需要打开一个标记器:

tokenizer = load(open('tokenizer.pkl', 'rb'))

调试后它对我说(当然)该文件不存在,所以我尝试创建一个 tokenizer.pkl。我无法创建,因为我找不到 keras.preprocessing.text import Tokenizer

尝试导入 Tokenizer,我意识到它可以位于 2 个目录中,

from keras.preprocessing.text import Tokenizer
from keras.legacy.preprocessing.text import Tokenizer
,而我都没有,我的 TensorFlow 版本是:2.17.0-dev20240410。

我尝试查看 Tokenizer 的源代码并在我的代码中实现 Tokenizer 函数,但我这样做时找不到 API 导出:

from keras.api_export import keras_export

提前致谢。

keras import artificial-intelligence tokenize
1个回答
0
投票

所有旧文档(现在大多数文档)都说要从 keras.preprocessing.text import Tokenizer 导入,但 keras 3 将 tokenizer 集成到了 textvetorization 中。

因此,如果您使用代码示例,您将看到导入 from keras.layers import TextVectorization,这主要是 tokenizer 的作用,事实上,tokenizer 是 TextVectorization 中的一个类。

因此,要导入 Tokenizer,您需要从 keras.layers 导入 TextVectorization 并从 TextVectorization Tokenizer 导入,如下所示:

from keras.layers import TextVectorization; import tokenizer

适用于 Keras 3。

如果你想使用

from keras.preprocessing.text import Tokenizer

您可以将您使用的版本降级到 Keras 2

© www.soinside.com 2019 - 2024. All rights reserved.