请问下,ModelScope保存模型save_pretrained的时候要指定“save_checkpoint_names”,指定完读取的时候from_pretrained需要在哪里配置一下这个名字吗?做了finetune后的。
我save_pretrained的模型再from_pretrained出来,结果没复现出来,在排查问题。
save_checkpoint_names当时随便配了一个,另外我没有用modelscope的pipeline来finetune比如我这么保存了两个,我读取的时候,怎么指定要取哪一个哈?
在ModelScope中,保存模型时需要指定save_checkpoint_names
参数,这个参数在ModelScope中,保存模型时需要指定save_checkpoint_names
参数,这个参数用于指定保存的检查点名称。在读取模型时,可以通过from_pretrained
方法的checkpoint_name
参数来指定要加载哪个检查点。
例如,如果你有两个检查点文件,一个是checkpoint_1
,另一个是checkpoint_2
,你可以这样读取:
from modelscope.models import Model
model = Model.from_pretrained('your_model_path', checkpoint_name='checkpoint_1')
或者
from modelscope.models import Model
model = Model.from_pretrained('your_model_path', checkpoint_name='checkpoint_2')
请确保你指定的检查点名称与实际保存的检查点名称一致。
在使用 save_pretrained
方法保存模型时指定的 save_checkpoint_names
参数是用于指定保存模型时的文件名前缀,因此在从预训练模型中加载模型时,需要指定相应的文件名前缀。
例如,如果您在保存模型时设置了 save_checkpoint_names='mymodel'
,那么在从预训练模型中加载模型时,可以通过指定 from_pretrained('path/to/mymodel')
来加载对应的模型。
如果您进行了 finetune 操作,并保存了多个模型,可以通过在文件名前缀中加入标识来区分不同的模型。例如,您可以在保存 finetune 后的模型时使用类似于 save_checkpoint_names='mymodel_finetuned_epoch5'
的命名方式,在加载模型时指定相应的文件名即可。
加载模型
https://modelscope.cn/docs/%E5%8A%A0%E8%BD%BD%E6%A8%A1%E5%9E%8B%E5%92%8C%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8
默认使用pytorch_model.bin,可以把要使用的文件重命名为pytorch_model.bin——此回答整理自钉群:魔搭ModelScope开发者联盟群 ①