You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS问题:HuggingFace load_dataset从S3加载时遇意外关键字参数错误

解决AWS SageMaker中load_dataset加载S3 JSON文件的Session.__init__() got an unexpected keyword argument 'hf'错误

问题原因

升级Sagemaker实例后,环境中s3fs或boto3这类AWS交互依赖的版本被更新,而你使用的datasets==2.15.0在与新版本依赖交互时,会向Session构造函数传递一个不再被支持的hf参数,从而触发该错误。

解决方案

方案1:降级s3fs到兼容版本

执行以下命令安装与datasets==2.15.0兼容的s3fs版本:

pip install s3fs==2023.6.0 --force-reinstall

安装完成后重启内核,再重新运行加载代码即可。

方案2:手动下载S3文件到本地再加载

如果不想调整依赖版本,可以先通过boto3将S3上的JSON文件下载到本地临时目录,再用load_dataset加载本地文件:

import boto3
from datasets import load_dataset

# 配置S3信息
bucket_name = "dir_name"
file_key = "train.json"
local_path = "/tmp/train.json"

# 下载文件
s3_client = boto3.client("s3")
s3_client.download_file(bucket_name, file_key, local_path)

# 加载本地数据集
data = load_dataset("json", data_files=local_path, split="train")

方案3:手动传递AWS会话对象

显式创建boto3会话并传递给load_dataset的storage_options参数,避免自动生成带hf参数的会话:

import boto3
from datasets import load_dataset

# 创建标准AWS会话
session = boto3.Session()

# 加载数据集时指定会话
data = load_dataset(
    "json",
    data_files="s3://dir_name/train.json",
    split="train",
    storage_options={"session": session}
)

内容的提问来源于stack exchange,提问作者rowbat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:27:06