【huggingface】数据集及模型下载并保存至本地

news/2024/7/19 9:39:49 标签: hugging face, 自然语言处理, transformer

目录

    • 数据集
      • ChnSentiCorp
      • peoples_daily_ner
    • 模型
      • bert-base-chinese
      • hfl/rbt3
      • t5-base
      • opus-mt-zh-en
      • Chinese_Chat_T5_Base

环境:没有代理,无法访问部分国外网络

数据集

正常情况下通过load_dataset加载数据集;save_to_disk保存至本地;load_from_disk读取本地数据集。
但由于网络原因,load_dataset加载数据集大多数时候会失败,因此针对不同数据集需要研究如何加载。
思路主要分为
1、 git lfs clone下载huggingface数据集
2、研究.py代码,获取原始数据
3、load_dataset加载,save_to_disk保存

ChnSentiCorp

用于中文情感分析,标记了每条评论的情感极性(0或1)

  1. 数据集地址:seamew/ChnSentiCorp,可见三个.arrow文件即为原始数据。
    在这里插入图片描述

  2. git下载数据集:git lfs clone https://huggingface.co/datasets/seamew/ChnSentiCorp

  3. git下载的文件无法直接使用:

    • load_dataset会执行.python文件,通过https://drive.google.com下载数据导致下载失败报错
    • load_from_disk会执行失败,因为该文件夹非dist数据集格式在这里插入图片描述
  4. 加载.arrow原始数据并保存

    # 设置data_files 
    data_files = {
        'train': './data/ChnSentiCorp/chn_senti_corp-train.arrow',
        'test': './data/ChnSentiCorp/chn_senti_corp-test.arrow',
        'validation': './data/ChnSentiCorp/chn_senti_corp-validation.arrow'}
    # 加载arrow数据集
    dataset = load_dataset('arrow', data_files=data_files)
    # 保存至本地
    dataset.save_to_disk('./huggingface/hub/datasets/chn_senti_corp')
    

    保存在本地的数据集:
    在这里插入图片描述

  5. 加载保存至本地的数据集

    dataset = load_from_disk('./huggingface/hub/datasets/chn_senti_corp')
    

peoples_daily_ner

用于中文命名实体识别(NER),来自人民日报的文本数据,标记了人名、地名 、组织机构等

  1. 数据集地址:peoples_daily_ner,并无原始数据文件。
    在这里插入图片描述

    研究.py:虽然raw.githubusercontent.com无法发访问,但可通过https://github.com/OYE93/Chinese-NLP-Corpus/tree/master/NER/People's%20Daily去下载原始数据

    在这里插入图片描述在这里插入图片描述

  2. git下载数据集:git lfs clone https://huggingface.co/datasets/peoples_daily_ner

  3. git下载原始数据:example.trainexample.devexample.test
    在这里插入图片描述

  4. 将原始数据放在huggingface数据集文件夹内,并修改.py内_URL为本地路径
    在这里插入图片描述

    # _URL = "https://raw.githubusercontent.com/OYE93/Chinese-NLP-Corpus/master/NER/People's%20Daily/"
    _URL = ""
    _TRAINING_FILE = "example.train"
    _DEV_FILE = "example.dev"
    _TEST_FILE = "example.test"
    
  5. 即可通过load_dataset加载

    dataset = load_dataset('./data/peoples_daily_ner')
    dataset.save_to_disk('./huggingface/hub/datasets/peoples_daily_ner')
    

模型

模型则要简单许多,直接通过git lfs clone下载至本地保存即可

bert-base-chinese

基于BERT架构的中文预训练模型,使用了中文维基百科进行预训练,能对中文文本进行深度的理解和分析。

git lfs clone https://huggingface.co/bert-base-chinese

from transformers import BertTokenizer,BertModel
tokenizer = BertTokenizer.from_pretrained('./huggingface/hub/models/bert-base-chinese')
pretrained= BertModel.from_pretrained('./huggingface/hub/models/bert-base-chinese')

hfl/rbt3

哈工大未来语言智能实验室(HFL)开发的中文预训练模型RBT3的版本,使用了中文维基百科和百度文库(Baidu Wenku)进行预训练。

git lfs clone https://huggingface.co/hfl/rbt3

from transformers import AutoTokenizer
from transformers import AutoModel
tokenizer = AutoTokenizer.from_pretrained('./huggingface/hub/models/hfl___rbt3')
pretrained= AutoModel.from_pretrained('./huggingface/hub/models/hfl___rbt3')

t5-base

基于T5(Text-to-Text Transfer Transformer)架构的预训练模型,使用海量的文本数据进行训练,可以用于多种自然语言处理任务。虽然这个模型并不是专门针对中文的,但也可以在中文处理任务中应用。

opus-mt-zh-en

基于神经机器翻译的中文到英语的预训练模型,由牛津大学和阿里巴巴达摩院联合开发,可以用于中文到英语的翻译任务。

Chinese_Chat_T5_Base

中文版对话机器人,在1300w+问答和对话数据上做有监督预训练。


http://www.niftyadmin.cn/n/5000578.html

相关文章

2023-09-04 LeetCode每日一题(序列化和反序列化二叉搜索树)

2023-09-04每日一题 一、题目编号 449. 序列化和反序列化二叉搜索树二、题目链接 点击跳转到题目位置 三、题目描述 序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后…

Android数据结构和算法总结-字符串相关高频面试题算法

前言 周末闲来无事,在七月在线上看了看字符串相关算法的讲解视频,收货颇丰,跟着视频讲解简单做了一下笔记,方便以后翻阅复习同时也很乐意分享给大家。什么字符串在算法中有多重要之类的大路边上的客套话就不多说了,直…

第七章:敏捷开发工具方法-part1-敏捷开发基础

文章目录 一、Scrum基础概念1.1 传统开发模式与敏捷开发的区别1.2 传统项目管理与敏捷项目管理的区别1.3 敏捷宣言1.4 敏捷开发的特征1、敏捷的方法 二、角色与职责2.1 Scrum Team2.2 角色职责总结2.3、研发阶段概览1、Sprint计划会议2、产品实施阶段3、Sprint评审会议4、Sprin…

MySql学习笔记05——DML

DML 插入数据insert insert into 表名(字段名1,字段名2,字段名3...)values(值1,值2,值3);字段名和值要一一对应(顺序对应,数据类型对应) insert into t_student(no,name,sex,age,…

基于串口校时的数字钟设计

文章目录 设计目标硬件设计数码管串口 软件设计顶层模块串口接收模块数据处理模块时钟模块串口发送模块 总结 设计目标 环境:ACX720开发板 实现功能: 数码管能够显示时分秒能够接收串口数据修改时间能够将当前时间以1s一次速率发送到电脑 硬件设计 数…

Servlet属性、监听者和会话

没有servlet能单独存在。在当前的现代Web应用中,许多组件都是在一起协作共同完成一个目标。怎么让这些组件共享信息?如何隐藏信息?怎样让信息做到线程安全? 1 属性和监听者 1.1 初始化 容器初始化一个servlet时,会为…

ConcurrentHashMap集合

什么是ConcurrentHashMap? ConcurrentHashMap 和HashMap一样,是一个存放键值对的容器。使用Hash算法来获取值的地址,因此时间复杂度是O(1)。查询非常快。ConcurrentHashMap 同时也是线程安全版的HashMap,可以实现线程安全的集合的…

Laravel 模型的关联查询 Debugbar 调试器 模型的预加载 ⑩②

作者 : SYFStrive 博客首页 : HomePage 📜: THINK PHP 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f44…