PaddlePaddle / PaddleNLP

👑 Easy-to-use and powerful NLP and LLM library with 🤗 Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including 🗂Text Classification, 🔍 Neural Search, ❓ Question Answering, ℹ️ Information Extraction, 📄 Document Intelligence, 💌 Sentiment Analysis etc.
https://paddlenlp.readthedocs.io
Apache License 2.0
12.11k stars 2.94k forks source link

请问这个服务器没有网没法下载,我手动下载的数据应该放在哪里? #2896

Closed Chucy2020 closed 1 year ago

Chucy2020 commented 2 years ago

欢迎您反馈PaddleNLP使用问题,非常感谢您对PaddleNLP的贡献! 在留下您的问题时,辛苦您同步提供如下信息:

LemonNoel commented 2 years ago

PaddleNLP内置的数据集,有两种方式手动加载

  1. 改为以内置数据集格式读取本地数据集,这时放在任意目录,datafiles指向对应数据即可。
  2. 放在内置数据集的默认path,一般在用户目录下~/.paddlenlp/datasets/DuReaderRobust/dureader_robust-data/.
Chucy2020 commented 2 years ago

PaddleNLP内置的数据集,有两种方式手动加载

  1. 改为以内置数据集格式读取本地数据集,这时放在任意目录,datafiles指向对应数据即可。
  2. 放在内置数据集的默认path,一般在用户目录下~/.paddlenlp/datasets/DuReaderRobust/dureader_robust-data/.

好的,我试下,感谢回复与解答,后续有问题再请教你们。

Chucy2020 commented 2 years ago

PaddleNLP内置的数据集,有两种方式手动加载

  1. 改为以内置数据集格式读取本地数据集,这时放在任意目录,datafiles指向对应数据即可。
  2. 放在内置数据集的默认path,一般在用户目录下~/.paddlenlp/datasets/DuReaderRobust/dureader_robust-data/.

image image 你好,采取上述你提到的方式中的第一个,在yesno数据集上可以正常运行,在Robust数据集上运行报错,另外想问下, image

这是什么意思?数据是pd格式,带有列名?我看robust数据集上没有列名。 以及下面两个名字是哪里得到的? image 麻烦您有时间的话解答一下,谢谢。

LemonNoel commented 2 years ago
Chucy2020 commented 2 years ago

您好,很感谢您的回复和解答,现在按照您提供的方式遇到了一些的问题,想再次请教您。 我的数据放在当前目录的dureader_robust-data文件夹下。下面两种调用(图1)都有下面的错误(图2),请问这是什么情况?麻烦您有空的时候解答一下,谢谢。 image

image

Chucy2020 commented 2 years ago

PaddleNLP内置的数据集,有两种方式手动加载

  1. 改为以内置数据集格式读取本地数据集,这时放在任意目录,datafiles指向对应数据即可。
  2. 放在内置数据集的默认path,一般在用户目录下~/.paddlenlp/datasets/DuReaderRobust/dureader_robust-data/.

采用第一种的方式会有上述的错误,因此采用下载数据到~/.paddlenlp/datasets/DuReaderRobust/dureader_robust-data/ 运行Robust的代码还是会有数据下载无法联网的问题,麻烦您有空再解答一下这个paddlehub加载本地数据出现报错的这个问题。

LemonNoel commented 2 years ago

您好,因为HuggingFace API的接口和paddlenlp自带的有所区别,所以这里重新列下 from datasets import load_dataset这种情况手动加载的方法:

方法一:在无网的机器上不修改代码,直接加载

Step 1. 在有网络的机器上调用API下载数据

from datasets import load_dataset
train_examples = load_dataset('PaddlePaddle/dureader_robust', split='train')
dev_examples = load_dataset('PaddlePaddle/dureader_robust', split='validation')

Step 2. 找到缓存数据,拷贝到无网络机器上用户目录下的相同位置,默认缓存地址为~/.cache/huggingface/datasets/dureader_robust/plain_text/1.0.0/778994ce2284ac9c7b4f78ff6ea4e52e7fd61cf9b26d2aa95f8d20e67ca5c6f3

方法二:在无网的机器上改用load_from_disk加载

Step 1. 在有网络的机器上调用API下载数据,调用save_to_disk存储到任意目录

from datasets import load_dataset
train_examples = load_dataset('PaddlePaddle/dureader_robust', split='train')
dev_examples = load_dataset('PaddlePaddle/dureader_robust', split='validation')
train_examples.save_to_disk('./robust_train')
dev_examples.save_to_disk('./robust_dev')

Step 2. 将指定的存储目录拷贝到无网络机器上,这里包括./robust_train./robust_dev

Step 3. 在无网络机器上使用load_from_disk从拷贝的目录加载数据

from datasets import load_from_disk
train_examples = load_from_disk('./robust_train')
dev_examples = load_from_disk('./robust_dev')
Chucy2020 commented 2 years ago

您好,因为HuggingFace API的接口和paddlenlp自带的有所区别,所以这里重新列下 from datasets import load_dataset这种情况手动加载的方法:

方法一:在无网的机器上不修改代码,直接加载

Step 1. 在有网络的机器上调用API下载数据

from datasets import load_dataset
train_examples = load_dataset('PaddlePaddle/dureader_robust', split='train')
dev_examples = load_dataset('PaddlePaddle/dureader_robust', split='validation')

Step 2. 找到缓存数据,拷贝到无网络机器上用户目录下的相同位置,默认缓存地址为~/.cache/huggingface/datasets/dureader_robust/plain_text/1.0.0/778994ce2284ac9c7b4f78ff6ea4e52e7fd61cf9b26d2aa95f8d20e67ca5c6f3

方法二:在无网的机器上改用load_from_disk加载

Step 1. 在有网络的机器上调用API下载数据,调用save_to_disk存储到任意目录

from datasets import load_dataset
train_examples = load_dataset('PaddlePaddle/dureader_robust', split='train')
dev_examples = load_dataset('PaddlePaddle/dureader_robust', split='validation')
train_examples.save_to_disk('./robust_train')
dev_examples.save_to_disk('./robust_dev')

Step 2. 将指定的存储目录拷贝到无网络机器上,这里包括./robust_train./robust_dev

Step 3. 在无网络机器上使用load_from_disk从拷贝的目录加载数据

from datasets import load_from_disk
train_examples = load_from_disk('./robust_train')
dev_examples = load_from_disk('./robust_dev')

感谢您的回复,您提供的这两个方案前提都是先在有网络的情况下下载数据,之后才能在无网络的情况下调用。

HuggingFace API调用方式感觉可能在数据本地加载这方面没有paddlenlp更加友善哈哈,很感谢您的耐心认真解答。谢谢。

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 60 days with no activity. 当前issue 60天内无活动,被标记为stale。

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 14 days since being marked as stale. 当前issue 被标记为stale已有14天,即将关闭。