【深度学习】从huggingface上加载数据集到本地并保存为csv文件

场景

想从huggingface上下载yelp数据集,并以csv格式保存到本地。

方法

1. git clone

首先通过git在线下载数据集的相关配置文件,git代理配置参考链接

终端上执行如下命令:

(1) git clone https://huggingface.co/datasets/yelp_review_full

#后面在windows上报错了,可以尝试如下命令应该就能安装成功
(2) git clone git@hf.co:datasets/yelp_review_full

执行完以上命令行,当前目录会出现如下文件:
在这里插入图片描述

2. 加载数据集到本地

from datasets import load_dataset
import datasets
dataset = load_dataset('yelp_review_full',trust_remote_code=True)
dataset.save_to_disk('./yelp') # 将数据集保存到./yelp路径下
dataset=datasets.load_from_disk("./yelp") #加载数据集

运行完以上代码,数据集加载到yelp路径下,以arrow文件格式呈现,具体目录如下
在这里插入图片描述

3.保存到csv文件中

因为不是很清楚huggingface相关函数的使用,也没找到合适的方法,因此我以一种比较呆板的方法,就是读取数据集再保存到csv文件中。代码如下

from datasets import load_dataset,load_from_disk
# 下载的数据集名称,
model_name = 'yelp_review_full'
# 数据集保存的路径
train_path = 'dataset/yelp/train'
test_path = 'dataset/yelp/test'

train_data = load_from_disk(train_path)
test_data = load_from_disk(test_path)
train_df = pd.DataFrame(train_data)
test_df = pd.DataFrame(test_data)

# 保存为CSV文件
train_df.to_csv("dataset/yelp/train.csv", index=False)
test_df.to_csv("dataset/yelp/test.csv", index=False)

4.补充

运行上述代码需要通过如下命令安装包

pip install matplotlib install transformers install dataset

如果有其他好的加载方式欢迎留言在评论中!

参考文章:
博文1
博文2
博文3

### 部署和微调大型机器学习模型的方法 #### 1. 准备环境 为了成功部署微调大型机器学习模型,需先配置合适的开发环境。这涉及安装必要的软件库和支持工具链。对于大多数深度学习项目而言,Python 是首选编程语言之一。推荐使用虚拟环境来管理依赖项。 ```bash conda create -n ml_env python=3.9 conda activate ml_env pip install torch torchvision torchaudio transformers datasets evaluate accelerate ``` 上述命令创建了一个名为 `ml_env` 的新 Conda 虚拟环境,激活该环境后安装了一系列常用的 Python 库[^1]。 #### 2. 获取预训练模型 许多研究机构和个人开发者都会公开分享其预先训练好的权重文件供他人下载使用。Hugging Face 提供了一站式的平台让使用者可以轻松获取各种类型的预训练模型及其配套资源。 ```python from transformers import AutoModelForSequenceClassification, AutoTokenizer model_name = "bert-base-uncased" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) ``` 这段代码展示了如何利用 HuggingFace Transformers 库加载 BERT 模型来进行序列分类任务的初始化过程[^2]。 #### 3. 数据准备与处理 有效的特征工程能够显著提升最终预测效果的好坏程度。针对具体应用场景的特点设计合理的输入表示形式至关重要。例如,在自然语言处理领域内常见的做法是对文本进行编码转换成向量表达;而在计算机视觉方面则可能涉及到图像尺寸调整、颜色空间变换等一系列操作。 ```python import pandas as pd from sklearn.model_selection import train_test_split data = pd.read_csv('path/to/dataset.csv') train_data, val_data = train_test_split(data, test_size=0.2) def preprocess_function(examples): return tokenizer(examples['text'], truncation=True, padding='max_length') encoded_train_dataset = train_data.map(preprocess_function, batched=True) encoded_val_dataset = val_data.map(preprocess_function, batched=True) ``` 此部分说明了读取 CSV 文件作为数据源,将其划分为训练集和验证集的过程。接着定义了一个函数用于执行 tokenization 处理,最后应用到整个数据集中去。 #### 4. 微调策略 当拥有足够的标注样本之后就可以考虑对选定的基础架构实施进一步优化工作——即所谓的迁移学习(Transfer Learning)。通过冻结某些层参数不变而仅更新其余可变部分的方式可以在保持原有泛化能力的同时快速适应新的目标任务需求。 ```python from transformers import Trainer, TrainingArguments training_args = TrainingArguments( output_dir='./results', evaluation_strategy="epoch", per_device_train_batch_size=8, per_device_eval_batch_size=8, num_train_epochs=3, weight_decay=0.01, ) trainer = Trainer( model=model, args=training_args, train_dataset=encoded_train_dataset, eval_dataset=encoded_val_dataset, ) trainer.train() ``` 这里介绍了基于 PyTorchHuggingFace Trainer API 实现简单版 Fine-Tuning 流程的具体实现方式。设置好超参选项后即可启动正式训练流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值