ModelScope这个只看到了 model 的加载呀,没看到 tokenizer = AutoTokenizer.from_pretrained(model_name),这个有类似的 api 吗?
在ModelScope中,确实可以直接通过模型名加载模型,而不需要手动加载tokenizer。
这主要得益于ModelScope底层使用了Hugging Face Transformers库,其中已经集成了对自动加载tokenizer的支持。
因此,当您使用ModelScope加载模型时,对应的tokenizer也会被自动加载并在需要时使用。这种设计可以简化用户的使用流程,使用户更容易上手和操作。
当然,如果您需要访问或修改tokenizer的具体参数,您仍然可以通过在相应模型类实例上调用tokenizer方法来访问它。例如,假设您的模型实例名为model,则可以通过model.tokenizer来访问对应的tokenizer对象。具体的操作细节可以根据实际需求以及官方API文档进行查看和参考。
总之,尽管在ModelScope中并没有明确的类似tokenizer = AutoTokenizer.from_pretrained(model_name)
这样的API,但其底层已经实现了自动加载tokenizer的功能,旨在提供更为简洁易用的用户体验。
在 ModelScope 中,可以直接加载 pre-trained 的 tokenizer 和 model,无需再单独调用 AutoTokenizer.from_pretrained()
方法来创建 tokenizer 对象。这是因为 ModelScope 已经自动处理了这些问题。
例如,在 ModelScope 中导入一个预训练的语言模型时,只需使用以下代码:
from models import load
model = load("model_scope://model-name")
tokenizer = model.get_input_transform().tokenizer
其中 model-name
是您想要加载的语言模型名称。在加载完成后,可以通过 tokenizer
对象调用相关方法进行文本编码和解码等操作。
在ModelScope中,目前没有直接提供与AutoTokenizer.from_pretrained(model_name)
类似的API来加载预训练的tokenizer。ModelScope主要关注于模型的管理和分发,而tokenizer通常是与模型一起打包并提供。
如果你想在ModelScope中使用预训练的tokenizer,一种可行的方式是将tokenizer作为自定义模块导入到你的项目中,并使用相应的加载方式来实例化tokenizer。以下是一种可能的实现方式:
首先,确保你已经安装了对应的tokenizer库,比如Hugging Face的transformers
库。然后,你可以通过以下方式导入并实例化tokenizer:
from transformers import AutoTokenizer
# 指定预训练模型的名称或路径
model_name = "bert-base-uncased"
# 加载tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name)
在上述代码中,我们使用AutoTokenizer.from_pretrained(model_name)
来加载指定名称的预训练tokenizer。你可以将model_name
替换为你所需的预训练模型名称。
preprocessor,有些模型用tokenizer,比如qwen-14b:https://modelscope.cn/models/qwen/Qwen-14B-Chat-Int8/summary,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”