如何在 Ubuntu 20.04 上下载 Waymo Open Dataset?

如何在 Ubuntu 20.04 上下载 Waymo Open Dataset?

我正在尝试在 Ubuntu 20.04 上下载 Waymo Open Dataset,但遇到了一个又一个问题。首先我去了这里:

https://waymo.com/open/download/

输入我的名字等,然后在“感知数据集”下,我选择 v1.2“单独文件”链接,它指向:

https://console.cloud.google.com/storage/browser/waymo_open_dataset_v_1_2_0_individual_files

我之前使用过各种云服务,但从未使用过 Google Cloud Platform。我勾选了所有复选框,然后选择“下载”:

在此处输入图片描述

出现一个弹出框,指示输入此命令:

gsutil -m cp -r \
  "gs://waymo_open_dataset_v_1_2_0_individual_files/domain_adaptation/" \
  "gs://waymo_open_dataset_v_1_2_0_individual_files/testing/" \
  "gs://waymo_open_dataset_v_1_2_0_individual_files/training/" \
  "gs://waymo_open_dataset_v_1_2_0_individual_files/validation/" \
  .

我运行了该命令,并收到错误“gsutil 无法识别”,因此我执行以下操作:

sudo apt-get install gsutil

然后再次运行推荐的命令,结果出现此错误:

Unknown option: m
No command was given.
Choose one of -b, -d, -e, or -r to do something.

经过谷歌搜索后,我发现了这篇文章:

https://stackoverflow.com/questions/61417140/installing-gcloud-gsutil-on-ubuntu-18

所以我做了:

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -

sudo apt-get update

sudo apt-get install google-cloud-sdk

现在,当我运行上面推荐的命令时,我得到:

$ gsutil -m cp -r \
>   "gs://waymo_open_dataset_v_1_2_0_individual_files/domain_adaptation/" \
>   "gs://waymo_open_dataset_v_1_2_0_individual_files/testing/" \
>   "gs://waymo_open_dataset_v_1_2_0_individual_files/training/" \
>   "gs://waymo_open_dataset_v_1_2_0_individual_files/validation/" \
>   .
ServiceException: 401 Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object.
CommandException: 1 file/object could not be transferred.

此数据集是公开的,因此不需要密码或等效密码。有没有其他使用 Ubuntu 的人成功下载了此数据集?我下载了其他自动驾驶汽车数据集(Lyft Level 5、Kitti 等),并且在同一台计算机上使用 AWS 时没有遇到问题。我做错了什么?

答案1

我已经解决这个问题了,步骤如下:

GoogleDownload Waymo Dataset或类似工具会带你到https://waymo.com/open/

选择Download右上角,第一次执行此操作时您必须输入您的姓名和电子邮件地址,不用担心,他们不会向您发送垃圾邮件或任何内容,继续输入您的信息。

进入页面后Download向下滚动并找到您要下载的数据集,例如Perception,,,将带您到v1.2tar fileshttps://console.cloud.google.com/storage/browser/waymo_open_dataset_v_1_2_0;tab=objects?prefix=&forceOnObjectsSortingFiltering=false

选择文件/目录上方的复选框,以便选中每个目录的复选框(参见上面问题的屏幕截图),然后选择DOWNLOAD,这将弹出如下命令:

gsutil -m cp -r \
  "gs://waymo_open_dataset_v_1_2_0/domain_adaptation/" \
  "gs://waymo_open_dataset_v_1_2_0/testing/" \
  "gs://waymo_open_dataset_v_1_2_0/training/" \
  "gs://waymo_open_dataset_v_1_2_0/validation/" \
  .

打开终端并复制/粘贴此内容,如果您收到如下消息:

Unknown option: m
No command was given.
Choose one of -b, -d, -e, or -r to do something.

这意味着您使用命令安装了一个软件包gsutil,但它不是与 Google Cloud SDK 配套的软件包!因此,如果您收到此消息,请卸载此其他gsutil软件包:

sudo apt-get purge --auto-remove gsutil

现在通过以下方式安装 Google Cloud SDK snap

snap install google-cloud-sdk --classic

或者,你可以去https://cloud.google.com/sdk/docs/install#deb并按照手动下载和配置说明进行操作,但老实说,该snap软件包更容易使用并且运行良好,所以我推荐该选项。

gsutil现在尝试再次从终端运行上述命令,您将收到类似以下错误:

ServiceException: 401 Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object.
CommandException: 1 file/object could not be transferred.

要解决此问题,请在默认浏览器中登录您的 Google 帐户(如果尚未登录),然后从终端执行以下操作:

gcloud auth login

这将打开您的默认浏览器,进入一个页面,其中会要求您授予 Google Cloud 执行操作的权限,请继续并允许权限。有关此主题的更多信息,请参阅此帖子https://stackoverflow.com/questions/49302859/gsutil-serviceexception-401-anonymous-caller-does-not-have-storage-objects-list

最后回到终端,gsutil再次发出上述命令,现在它应该可以正常工作了。我不确定 Google 为什么要把它弄得这么复杂,而且没有提供关于如何在任何地方执行此操作的明确说明。

- - - 编辑 - - -

今天早上下载 Waymo 数据集时我又遇到了一个问题,不过我已经解决了。具体来说,对于 Motion Dataset v1.1,Google Cloud 提供的下载命令不起作用:

gsutil -m cp -r "gs://waymo_open_dataset_motion_v_1_1_0/uncompressed/" .

它不会显示错误或挂起,它只是什么也不做。诀窍是删除引号:

gsutil -m cp -r gs://waymo_open_dataset_motion_v_1_1_0/uncompressed .

那么它似乎工作正常。请参阅此问题https://github.com/waymo-research/waymo-open-dataset/issues/377更多细节。

相关内容