使用Fiftyone加载open-images-v6指定类别图片时报404错误如何解决
Open Images V6 特定类别下载404错误解决方案
错误原因
该404错误与AWS CLI安装状态无关,是旧版本Fiftyone默认硬编码的Open Images V6 AWS S3存储路径已失效,谷歌官方当前已将数据集主存储节点迁移至GCS(谷歌云存储)。
可行解决方案
方案1:修改下载源配置(优先尝试)
直接在原有代码前增加GCS源配置,同时修正classes参数的传参格式(单个类别也需用列表传递,避免低版本解析错误),修改后代码如下:import fiftyone as fo import fiftyone.zoo as foz # 指定Open Images V6使用GCS源替换失效的S3源 fo.config.dataset_zoo.datasets.open_images_v6.source = "gcs" dataset = foz.load_zoo_dataset( "open-images-v6", split="validation", label_types="detections", classes=["Swimming pool"], dataset_dir="./open-images-swimming-pool", # 自定义本地存储路径,避免旧缓存冲突 download_if_missing=True ) session = fo.launch_app(dataset)方案2:升级Fiftyone到最新版本
旧版本Fiftyone的数据集源配置无法手动修改时,直接升级即可修复内置的失效路径,升级命令:pip install --upgrade fiftyone升级完成后删除之前下载失败的缓存文件(默认存储路径为用户目录下的
fiftyone/open-images-v6文件夹),再重新运行代码即可。方案3:配置网络代理(针对网络访问受限场景)
若GCS节点访问受限,可在代码开头配置全局代理:import os # 替换为你自己的代理地址与端口 os.environ['HTTP_PROXY'] = 'http://127.0.0.1:7890' os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:7890'
补充说明
COCO数据集可正常下载是因为其默认下载源为官方普通HTTP节点,未使用失效的AWS S3路径,与你的运行环境无关。
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

