将训练好的模型权重上传到 OpenXLab
方式1: 先将Adapter 模型权重通过scp 传到本地,然后网页上传
步骤1. scp 到本地
命令为:
scp -o StrictHostKeyChecking=no -r -P *** root@ssh.intern-ai.org.cn:/root/data/ e/opencv/
步骤2:openxlab平台创建模型入口并填写仓库相关信息
其中仓库相关信息包括:
序号 | 填写项 | 填写项说明 |
---|---|---|
1 | 仓库名称 | 指仓库地址,对用户侧来说,主要是使用CLI工具时,需要使用该字段进行指向 |
2 | 中文别称 | 仓库的描述类名称,由于仓库是以算法为维度,因此一般来说填写算法名称,或描述类信息+算法名称 |
3 | 开源协议 | 可以从下拉框选择一个,另下拉框中提供了unknown 和 other 选项 |
4 | GitHub | 填入GitHub训练代码仓库的地址 |
5 | 公开/私有 | 选择仓库的访问状态等,只有公开后,其他用户才能看到该模型仓库 |
步骤3.逐个模型文件信息填写与上传
目前网页端仅支持单个模型上传
方式2:在云服务器中通过openxlab直接上传
步骤1:获取账号的Access key ID 和 Secret Access Key
步骤2:安装openxlab 库,并进行认证
安装命令为:
python -m pip install -U openxlab
认证方法:
编写python代码,并填写自己的access key 和 secret key.
import openxlab
openxlab.login(ak=<Access Key>, sk=<Secrete Key>)
运行验证登陆代码。
步骤3:在模型存放路径编写模型源文件
此处参考 OpenXLab平台上传下载笔记 - 知乎 中源文件快速生成方法
先在模型中心获取internlm-chat-7b 的源文件,链接为OpenXLab浦源 - 模型中心
将获取的模型源文件放到模型路径的同一级目录下,通过快速weight 字段填充代码进行填充weight 字段。代码如下:
import sys
import ruamel.yaml
yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True
yaml.default_flow_style = False
file_path = 'metafile.yml'
# 读取YAML文件内容
with open(file_path, 'r') as file:
data = yaml.load(file)
# 遍历模型列表
for model in data.get('Models', []):
# 为每个模型添加Weights键值对,确保名称被正确引用
model['Weights'] = model['Name']
# 将修改后的数据写回文件
with open(file_path, 'w') as file:
yaml.dump(data, file)
print("Modifications saved to the file.")
生成后源文件”metafile.yml“ 将更新每一个文件的文件名到weight 字段中。
步骤4:上传模型文件
命令为:
openxlab model create --model-repo='用户名/模型仓库名' -s ./metafile.yml
部分文件如下: