【caltech_birds2011数据集手动下载】| All attempts to get a Google authentication bearer token failed.(含下载链接)

目录

一、问题描述

二、解决思路

三、解决办法(Linux、Win10都可以)

1、Tensorflow

2、Pytorch

1)下载

2)划分训练集和测试集


 一、问题描述

Caltech-UCSD Birds-200-2011 (CUB-200-2011)数据集是细粒度可视化分类任务中应用最广泛的数据集。它包含了属于鸟类的200个子类别的11788张图片,5994张用于训练,5794张用于测试。每张图片都有详细的注释:1个子类别标签,15个部分位置(part locations),312个二分类属性和1个边界框(bounding box)。

数据集的使用:

import tensorflow_datasets as tfds

x_train, y_train = tfds.load('caltech_birds2011', split='train', batch_size=-1, as_supervised=True)

x_test, y_test = tfds.load('caltech_birds2011', split='test', batch_size=-1, as_supervised=True)

出现错误:

W tensorflow/core/platform/cloud/google_auth_provider.cc:184] All attempts to get a Google authentication bearer token failed, returning an empty token. Retrieving token from files failed with "NOT_FOUND: Could not locate the credentials file.". Retrieving token from GCE failed with "FAILED_PRECONDITION: Error executing an HTTP request: libcurl code 6 meaning 'Couldn't resolve host name', error details: Could not resolve host: metadata".

E tensorflow/core/platform/cloud/curl_http_request.cc:614] The transmission  of request 0x555a86acad30 (URI: https://www.googleapis.com/storage/v1/b/tfds-data/o/datasets%2Fcaltech_birds2011?fields=size%2Cgeneration%2Cupdated) has been stuck at 0 of 0 bytes for 61 seconds and will be aborted. CURL timing information: lookup time: 0.001333 (No error), connect time: 0 (No error), pre-transfer time: 0 (No error), start-transfer time: 0 (No error)

 因为All attempts to get a Google authentication bearer token failed, returning an empty token.当时机器也被占着,我就尝试着用Google colab跑了一下,没想到可以

于是我喜滋滋地把tensorflow_datasets下载了,并放在同样的位置,结果还是出现错误。

二、解决思路

我想着起码有数据集了不是,于是又在网上搜索怎么使用tensorflow_datasets加载本地数据集,但是一大堆的教程让我看得云里雾里,然后我看到了一个知乎回答

里面有一个Google colab的教程(需要梯子)。内容大概是这样的:

三、解决办法(Linux、Win10都可以)

1、Tensorflow

还是上面的图,我看了一下当前目录下的文件

 发现下面有个‘~’文件

于是

可算是把它找到了。

接下来按照知乎回答里面说的步骤完成,也就是:

 然后连接谷歌云盘

因为文件下载得太慢了(如下图),Google colab连接的机器可能会断开,所以放到云盘上去下载。

download.tar.gz的下载链接:https://pan.baidu.com/s/1gnIj2KQI_NjUf_yEOWzpkQ 提取码:jj2j

然后把文件解压

tar -zxvf download.tar.gz -C 自己指定的文件名/caltech_birds2011/0.1.1

 注意结尾必须是caltech_birds2011/0.1.1,据我观察,数据集默认的data_dir应该设置为

自己指定的文件名/tfds.load加载的数据集名称/一个类似版本号的东西/tfrecord文件

 最后设置data_dir

import tensorflow_datasets as tfds

x_train, y_train = tfds.load('caltech_birds2011', data_dir='自己指定的文件名', split='train', batch_size=-1, as_supervised=True)

x_test, y_test = tfds.load('caltech_birds2011', data_dir='自己指定的文件名', split='test', batch_size=-1, as_supervised=True)

2、Pytorch

1)下载

下载链接:Perona Lab - CUB-200-2011 (caltech.edu)

2)划分训练集和测试集

方法一

CUB-200-2011鸟类数据集的下载与使用pytorch加载_景唯acr的博客-CSDN博客_cub数据集下载https://blog.csdn.net/weixin_41735859/article/details/106937174

 这位博主写得非常清楚。

方法二

我使用了

ImageFolder、DataLoader加载CUB200数据集_查无此人☞的博客-CSDN博客_dataloader imagefolderhttps://blog.csdn.net/hb_learing/article/details/115706863

中的数据集划分方法。

然后使用了ImageFolder加载数据集

mode = "train" if self.train else "valid"
root = os.path.join(self.data_dir, mode)
self.data = ImageFolder(root=root)

参考资料:

1、tensorflow_datasets 如何load本地的数据集?tensorflow_datasets 如何load本地的数据集? - 知乎 (zhihu.com)

2、 CUB-200-2011鸟类数据集的下载与使用pytorch加载

CUB-200-2011鸟类数据集的下载与使用pytorch加载_景唯acr的博客-CSDN博客_cub数据集下载

3、 ImageFolder、DataLoader加载CUB200数

ImageFolder、DataLoader加载CUB200数据集_查无此人☞的博客-CSDN博客_dataloader imagefolder

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值