在离线状态下如何加载 modelscope(魔塔社区) / huggingface 上下载好的数据集

通过魔塔社区下载后的数据集,在联网状态下,可以直接使用官方的脚本进行读取:

from modelscope.msdatasets import MsDataset
ds =  MsDataset.load('open-r1/OpenR1-Math-220k', subset_name='default', split='train')

or huggingface的读取方式:

from datasets import load_dataset
ds = load_dataset("open-r1/OpenR1-Math-220k", config_name="default")

以上两种方式,首先都会先尝试访问外网,下载相应的数据集。但是在本地已有数据集的情况下,依然会先访问外网,在离线状态下,会直接报错返回。

在网上看到许多方法,基本都是记载本地的csv数据集或者json数据集,都没啥用,因为modelscope上下载下来的都是.arrow格式的数据。还有说在MsDataset.load中的cache_dir指定数据集目录的,各种方法都尝试了,目录从modelscope根目录到数据集目录换了个遍,都没用。

最后尝试了很多办法终于找到了解决方式,具体如下:

from datasets import load_dataset
ds = load_dataset('/home/***/.cache/modelscope/hub/datasets/open-r1___open_r1-math-220k/default-f85bbd709552ea85/0.0.0/master')

还是使用datasets库下的load_dataset方法,直接输入下载数据集的目录,也就是.arrow文件和dataset_info.json文件所在目录,就可以实现离线加载了。

 

### 使用 ModelScope 上传或传递数据集 为了利用 ModelScope 平台的功能来管理数据集,可以遵循特定的方法来进行数据集的上传和共享操作。下面介绍一种基于 Python 的方法用于上传本地的数据集ModelScope。 #### 准备工作 确保已经安装了 `modelscope` 库以及登录账号拥有足够的权限去创建新的资源。如果尚未完成这些前置条件,则需先执行相应的设置命令[^1]。 ```bash pip install modelscope ``` #### 创建并配置 Dataset 对象 使用官方提供的 API 来初始化一个新的数据集对象,并指定目标存储位置和其他必要的参数。 ```python from modelscope.msdatasets import MsDataset dataset_name = "your_dataset_name" namespace = "your_namespace" ds = MsDataset.create( dataset_name=dataset_name, namespace=namespace, visibility="public", # or "private" ) ``` #### 数据集元数据定义 对于要上传的数据文件及其结构提供描述性的信息,这有助于其他使用者理解该数据集的内容。 ```json { "title": "Your Dataset Title", "description": "A brief description of your dataset.", "license": "MIT License", "keywords": ["keyword1", "keyword2"], } ``` #### 文件上传过程 将准备好的数据文件夹路径作为输入传给 `push_to_hub()` 方法,此函数会负责处理实际的上传流程并将数据同步至云端仓库中。 ```python local_data_path = "/path/to/local/dataset/folder" ds.push_to_hub(local_data_path, commit_message="Initial upload.") ``` 上述代码片段展示了如何通过编程方式向 ModelScope 提交自定义数据集的过程。需要注意的是,在推送之前应当仔细检查所有待上传资料是否符合平台规定的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值