手动从 huggingface 下载模型之后,怎么把模型文件放到指定路径?
我需要在本地运行 chatGLM3,然后我就用下面的代码跑
from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')model = model.eval()response, history = model.chat(tokenizer, "你好", history=[])
运行上面的代码,首先会从 huggingface 下载 10GB 左右的模型文件。但是问题来了,huggingface 的下载速度太慢了。所以我就想手动下载:https://huggingface.co/THUDM/chatglm3-6b/tree/main
但是问题在于,huggingface 奇葩的本地目录结构:
╰─➤ fd -a -u pytorch_model | grep chatglm3-6b/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00007-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00003-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00006-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00004-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00001-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model.bin.index.json/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00002-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/snapshots/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model-00005-of-00007.bin/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/.no_exist/e46a14881eae613281abbd266ee918e93a56018f/pytorch_model.bin
有一串莫名其妙的 snapshots/e46a14881eae613281abbd266ee918e93a56018f
!!!! so, 我手动下载了模型文件之后,我怎么知道要把这些模型文件放哪个路径?上哪知道是 e46a14881eae613281abbd266ee918e93a56018f 还是 e46a14881eae613281abbd266ee918e93a56018w?
当你从Hugging Face手动下载模型文件时,你确实需要将模型文件放置在正确的路径。由于Hugging Face在本地目录结构中生成了随机的唯一标识符(如e46a14881eae613281abbd266ee918e93a56018f
),因此你不能简单地预测或确定正确的路径。
一种解决方法是查看你的Python环境中的缓存路径。在你的代码中,AutoTokenizer
和AutoModel
在初始化时会使用缓存路径。你可以通过以下方式找到这个路径:
from transformers import AutoTokenizer, AutoModeltokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')print(tokenizer.model_max_length) # 这将打印出模型的最大长度
在你的代码中,打印的模型最大长度将是一个数字。然后,你可以使用这个数字作为Hugging Face模型缓存的子目录名称。例如,如果模型的最大长度是10240,那么你的模型文件应该放在以下路径:
/home/pon/.cache/huggingface/hub/models--THUDM--chatglm3-6b/10240/pytorch_model.bin
请注意,这只是一种可能的解决方案,并且可能不适用于所有情况。如果这种方法不起作用,你可能需要查看Hugging Face的文档或寻求其他社区的帮助。
最近在搞国产 GPU 的适配 用的 GPU 是 ascend310 遇到一个问题,网上说的都是什么离线模型使用 但是,我想知道的是这个 om 可以用 python 调用推理吗? 比如 onnx 模型可以用 onnxruntime 包调用推理 但是华为的 om 模型怎么用 python 调用?
主要内容:AI类型 - 1:基于功能,人工智能类型-2:基于功能人工智能可以分为多种类型,主要有两种类型的主要分类,它们基于能力并基于AI的功能。以下是解释AI类型的流程图。 AI类型 - 1:基于功能 基于能力的人工智能的类型如下 - 1. 弱AI或狭隘AI 狭隘AI是一种能够执行智能专用任务的AI。最常见和当前可用的AI是人工智能领域的狭隘AI。 狭隘的AI不能超出其领域或限制,因为它只针对一项特定任务进行培训。因此它也被称为弱AI。如果超出限制,缩小的A
英文原文: http://emberjs.com/guides/routing/specifying-a-routes-model/ 指定路由的模型 应用中的模板背后是由模型来支撑的。那么模板是如何知道需要显示哪些模型的呢? 例如,如果有一个photos模板,那么它是如何知道应该渲染哪一个模型的呢? 这正是Ember.Route的工作之一。通过定义一个与模板同名的,并实现其model方法的路由,是
主要内容:1. 简单的反射代理,2. 基于模型的反射代理,3. 基于目标的代理,4. 基于效用的代理,5. 学习代理代理可以根据其感知智能和能力的程度分为五类。所有这些代理都可以改善其性能并在一段时间内产生更好的行动。这些如下: 简单的反射代理 基于模型的反射代理 基于目标的代理商 基于效用的代理 学习代理 1. 简单的反射代理 简单反射代理是最简单的代理。这些代理人根据当前的感知来做出决定,并忽略其余的感知历史。 这些代理只能在完全可观察的环境中取得成功。 简单反射代理在决策和行动过程中不考虑
有什么好用的文字转语音的开源模型?要求如下: 开源免费 可以离线部署,不需要联网 人声多样,不单一 可以做到声情并茂,语气自然
我想知道是否有一种方法(或某种代码示例)在Flink流媒体应用程序中加载编码的预训练模型(用python编写)。所以我可以使用从文件系统加载的权重和来自流的数据来拟合模型。 先谢谢你