如何使用 curl 下载 youtube-8m 数据集

How to download youtube-8m dataset using curl

Youtube-8m下载网页提供了以下curl说明:

mkdir -p ~/data/yt8m_video_level; cd ~/data/yt8m_video_level 

curl data.yt8m.org/download.py | partition=1/video_level/train mirror=us python 
curl data.yt8m.org/download.py | partition=1/video_level/validate mirror=us python 
curl data.yt8m.org/download.py | partition=1/video_level/test mirror=us python

我已经创建了目录,现在正在尝试下载训练数据。

当我执行时:

curl data.yt8m.org/download.py | partition=1/video_level/train mirror=us python

我收到以下错误消息:

'partition' is not recognized as an internal or external command, operable program or batch file.

如果我使用插入符号来转义 |像这样:

curl data.yt8m.org/download.py ^| partition=1/video_level/train mirror=us python

然后命令提示符打印 http://data.yt8m.org/download.py 的全部内容,然后是:

curl: (6) Could not resolve host: |
curl: (6) Could not resolve host: partition=1
curl: (6) Could not resolve host: mirror=eu
curl: (6) Could not resolve host: python

如何使用 curl 将此数据集下载到 Windows10?

该脚本旨在 运行 在 *nixUnixlinux 或...)环境中。

您是否安装了 windows 的 bash?如果是这样,那就是快速解决方案,只需 运行 那个环境中的 script/cmds(并确保 which python returns 是正确的 /path/to/preferred/version_of/python)。

为了 explain/expand 代码的作用,*nix 允许设置特定于命令的环境变量 运行 在行尾。 "say" 与您在 *nix 中包含的代码相同的另一种方法是

export partition=1/video_level/test
export mirror=us 
curl data.yt8m.org/download.py | python

所以你想要 | 作为管道,并且不想转义它。

旧 DOS .bat 文件中的等价物是

set partition = 1/video_level/test
set mirror = us 
curl data.yt8m.org/download.py | python

但是,旧版本的 dos 过去曾限制 |(管道)中的 "stored" 数量。我不知道 Windows Cmd-Prompt 中的当前限制是什么,因此您可能需要创建自己的临时文件然后输入它们,即

set partition = 1/video_level/test
set mirror = us 
curl data.yt8m.org/download.py > %TEMP%\mytempFile
python < %TEMP%\mytempFile

我不是 python 程序员,所以我可能遗漏了一些对 pythonist 来说非常明显的东西。


刚刚查看了 download.py 的源代码。你注意到了吗

print ('Starting fresh download in this directory. Please make sure you '
    'have >2TB of free disk space!')

IHTH