模型从 HuggingFace 转存到 ModelScope

由于 HuggingFace 网络访问比较慢,国内通常会使用魔搭下载模型,如果魔搭上还没有,需要从 HuggingFace 准存一下,本文将通过 Colab + AliyunPan 的方式下载模型并进行转存。

登录Colab 并运行一下命令

安装依赖包,Huggingface 和云盘

# 安装需要的包
!pip install huggingface_hub aligo

下载模型

import huggingface_hub as hhrepo_id = "TencentBAC/Conan-embedding-v1"
revision_list = hh.list_repo_refs(repo_id)
ref = revision_list.branches[0].ref
hh.snapshot_download(repo_id=repo_id, revision=ref, local_dir="./download")

登录阿里云盘

# 上传阿里云盘,填上token
from aligo import Aligo
ali = Aligo()# 获取用户信息和获取网盘根目录文件列表
user = ali.get_user()
print(user.user_name, user.nick_name, user.phone)
ll = ali.get_file_list() 

上传目录

outpath="/content/download"
remote_folder = ali.get_folder_by_path("model100", create_folder=True)
ali.upload_folder(outpath, remote_folder.file_id)

文件成功上传
在这里插入图片描述

上传 ModelScope

在 ModelScope 上启动 Notebook
在这里插入图片描述
进入 Notebook 安装依赖

!pip install aligo

登录云盘,会出现二维码,扫码登录

from aligo import Aligo
ali = Aligo()

下载模型,设置云盘的目录位置,指定目标路径并下载

file = ali.get_folder_by_path('model100/download')ali.download_folder(folder_file_id=file.file_id, local_folder="/tmp")

上传到魔搭,替换为自己的 Token,设置模型 Id 为自己创建的模型的 Id,甚至本地路径。
在这里插入图片描述

from modelscope.hub.api import HubApi
local_dir = "/tmp/download"
'''
魔搭需要一个配置文件,否则上传失败,这里创建一个空文件
'''
!touch {local_dir+"/configuration.json"}
YOUR_ACCESS_TOKEN = '9ec19501-230a-4749-9909-b093e5466e74'
api = HubApi()
api.login(YOUR_ACCESS_TOKEN)
api.push_model(model_id="model1001/Conan",model_dir=local_dir
)

修改配置文件内容,model 的配置信息直接从 HuggingFace config.json 文件中拷贝即可。

{"framework": "pytorch","task": "sentence-embedding","model": {"architectures": ["BertModel"],"attention_probs_dropout_prob": 0.1,"classifier_dropout": null,"directionality": "bidi","gradient_checkpointing": false,"hidden_act": "gelu","hidden_dropout_prob": 0.1,"hidden_size": 1024,"initializer_range": 0.02,"intermediate_size": 4096,"layer_norm_eps": 1e-12,"max_position_embeddings": 512,"model_type": "bert","num_attention_heads": 16,"num_hidden_layers": 24,"pad_token_id": 0,"pooler_fc_size": 768,"pooler_num_attention_heads": 12,"pooler_num_fc_layers": 3,"pooler_size_per_head": 128,"pooler_type": "first_token_transform","position_embedding_type": "absolute","torch_dtype": "float32","transformers_version": "4.36.2","type_vocab_size": 2,"use_cache": true,"vocab_size": 21128},"pipeline": {"type": "sentence-embedding"}
}

上传成功后,会进入审核进度,审核很快可以完成。
在这里插入图片描述
测试上传的模型

from modelscope.models import Model
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasksmodel_id = "model1001/Conan"
pipeline_se = pipeline(Tasks.sentence_embedding,model=model_id,sequence_length=512) # 当输入包含“soure_sentence”与“sentences_to_compare”时,会输出source_sentence中首个句子与sentences_to_compare中每个句子的向量表示,以及source_sentence中首个句子与sentences_to_compare中每个句子的相似度。
inputs = {"source_sentence": ["吃完海鲜可以喝牛奶吗?"],"sentences_to_compare": ["不可以,早晨喝牛奶不科学","吃了海鲜后是不能再喝牛奶的,因为牛奶中含得有维生素C,如果海鲜喝牛奶一起服用会对人体造成一定的伤害","吃海鲜是不能同时喝牛奶吃水果,这个至少间隔6小时以上才可以。","吃海鲜是不可以吃柠檬的因为其中的维生素C会和海鲜中的矿物质形成砷"]}result = pipeline_se(input=inputs)
print (result)

总结

HuggingFace 模型转到 ModelScope 基本上就是直接的文件拷贝,上传前需要将模型配置稍微调整一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1523867.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-读取配置文件方式

目录 前言 一. 使用 ConfigurationProperties 注解读取 二. 使用 Value 注解读取配置文件 三. 使用 Environment 类获取配置属性 前言 Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,…

Datawhale X 李宏毅苹果书 AI夏令营(深度学习进阶)task3

批量归一化 其实归一化简单一点理解就类似于我们学过的数学中的每个数值减去平均值除以标准差。 神经网络中的批量归一化(Batch Normalization,BN)就是其中一个“把山铲平”的想法。不要小看优化这个问题,有时候就算误差表面是凸…

[深度学习][LLM]:浮点数怎么表示,什么是混合精度训练?

混合精度训练 混合精度训练1. 浮点表示法:[IEEE](https://zh.wikipedia.org/wiki/电气电子工程师协会)二进制浮点数算术标准(IEEE 754)1.1 浮点数剖析1.2 举例说明例子 1:例子 2: 1.3 浮点数比较1.4 浮点数的舍入 2. 混合精度训练2.1 为什么需…

【数据结果-二维前缀和】力扣221. 最大正方形

在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。 示例 1: 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”…

Java 入门指南:Java 并发编程 —— 并发容器 TransferQueue、LinkedTransferQueue、SynchronousQueue

BlockingQueue BlockingQueue 是Java并发包(java.util.concurrent)中提供的一个阻塞队列接口,它继承自 Queue 接口。 BlockingQueue 中的元素采用 FIFO 的原则,支持多线程环境并发访问,提供了阻塞读取和写入的操作&a…

机器学习的入门笔记(第十六周)

本周观看了B站up主霹雳吧啦Wz的图像处理的课程, 课程链接:霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频 下面是本周的所看的课程总结。 MobileNet V2的代码实现 1、定义ConvBNReLU类,将卷积操作,批量归一化操作&…

有三层交换机就不用路由器了?真的假的

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 晚上好,我的网工朋友。 在现代企业网络环境中,三层交换机因其高效的数据包处理能力和较低的延迟而受到广泛欢迎。 然而&…

【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法)

原文链接:【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法) (chinaz.com) 不知道有没有小伙伴去测试一下哈,上一篇文章用的都是官方提供的参考图,经常关注Flux的小伙伴也知道那些ControlNet买家秀和卖家秀基…

TDesign 微信小程序组件库配置

文章目录 1.安装 npm 包2. 构建 npm3. 构建完成后即可使用 npm 包。4.修改 app.json5.修改 tsconfig.json6.使用组件 1.安装 npm 包 在小程序 package.json 所在的目录中执行命令安装 npm 包: npm install结果报错 PS C:\WeChatProjects\miniprogram-1> npm i…

ARM32开发——(二十三)存储器介绍

1. 存储器分类 存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。 “易失/非易失”是指存储器断电后, 它存储的数据内容是否会丢失的特性。 在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。 2.…

2024年最新版Ajax+Axios 学习【包含原理、Promise、报文、接口等...】

基础知识 AJAX概念 AJAX概念:是浏览器与服务器进行数据通信的技术。 认识URL 定义:统一资源定位符,简称网址,用于访问网络上的资源。 组成: http协议:超文本传输协议,规定浏览器和服务器之…

程序设计—基于JavaWeb的流浪动物救助网站(案例分析)

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息…

OpenAI API in node gives basic Await error. How do I fix?

题意:OpenAI API 在 Node 中出现基本的 Await 错误。我该如何修复? 问题背景: I literally copied the code from the openAI example and it gives me a remedial Await JS error but I am unsure what it expects me to do. I just want t…

【开源风云】从若依系列脚手架汲取编程之道(三)

📕开源风云系列 🍊本系列将从开源名将若依出发,探究优质开源项目脚手架汲取编程之道。 🍉从不分离版本开写到前后端分离版,再到微服务版本,乃至其中好玩的一系列增强Plus操作。 🍈希望你具备如下…

基于zigbee的蔬菜大棚温湿度监测系统(论文+源码)

1 系统的功能及方案设计 本次基于zigbee的蔬菜大棚温湿度监测系统主要包括传感器节点、协调器节点和监控中心三个功能模块。 其中协调器节点:由cc2530作为主控芯片,负责接收终端一和终端二发送过来的温湿度数据,并将其通过ch340串行转USB输…

【王树森】RNN模型与NLP应用(8/9):Attention(个人向笔记)

前言 基于RNN的Seq2Seq模型无法记住长序列Attentnion机制可以大幅度提升Seq2Seq模型 Seq2Seq Model with Attention Attention可以让句子在逐步变长的时候不忘记前面的输入信息Attention还可以告诉Decoder应该关注哪一个状态优点:Attention可以大幅度提高准确率缺…

【Java】实体类Javabean

文章目录 前言一、实体类Javabean是什么?二、代码总结 前言 记录实体类的基本语法 一、实体类Javabean是什么? 其实就是一种特殊形式的类,这种类特殊点在于: 1、这个类中的成员变量都要私有,并且要对外提供相应的ge…

Dubbo ZooKeeper Spring Boot整合

依赖配置 1. Dubbo 起步依赖 Dubbo 是一款高性能的 Java RPC 框架&#xff0c;用于快速开发高性能的服务。 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.ver…

【功能自动化】使用HTMLTestRunner生成测试报告

配置环境&#xff1a; 部署webtours网站 准备数据 user.txt 在软件开发过程中&#xff0c;测试是非常重要的环节&#xff0c;通过测试可以验证代码的正确性和稳定性。而生成测试报告则是测试的一个重要环节&#xff0c;通过测试报告可以清晰地了解测试的结果、覆盖率等信息。…

第九届世界渲染大赛国内参赛者作品在哪里可以看?

第九届世界渲染大赛汇聚了全球顶尖的CG艺术家&#xff0c;其中国内选手的表现尤为引人注目。他们凭借独特的创意视角和精湛的技术&#xff0c;将浓郁的国风元素融入作品之中&#xff0c;为大赛增添了一抹独特的东方色彩。接下来&#xff0c;就让我们一探究竟&#xff0c;看看这…