2017-11-02 2 views
1

Der Youtube-8m Download Webseite zum Download bietet die folgenden curl Anweisungen:Wie youtube-8m-Datensatz mit 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 

ich das Verzeichnis gemacht habe und jetzt ist versucht, die Trainingsdaten zum Download bereit.

Wenn ich ausführen:

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

Ich erhalte die folgende Fehlermeldung:

'Partition' wird nicht als interner oder externer Befehl erkannt, bedienbare Programm oder Batch-Datei.

Wenn ich ein Caret verwende, um die | etwa so:

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

Dann druckt die Eingabeaufforderung den gesamten Inhalt der http://data.yt8m.org/download.py gefolgt von:

curl: (6) kann nicht Host beheben: |
curl: (6) kann nicht Host lösen: Partition = 1
curl: mirror = eu
curl: (6) kann nicht Host lösen (6) lösen kann nicht host: Python

Wie verwende ich curl, um dieses Dataset auf Windows 10 herunterzuladen?

Antwort

1

Dieses Skript soll in einer *nix (Unix oder linux oder ...) Umgebung ausgeführt werden.

Haben Sie die bash für Windows installiert? Wenn ja, ist das die schnelle Lösung, führen Sie einfach das Skript/cmds in dieser Umgebung aus (und stellen Sie sicher, dass which python das korrekte /path/to/preferred/version_of/python zurückgibt).

Um zu erklären/erweitern, was dieser Code tut, ermöglicht *nix Einstellung env Vars spezifisch für den Befehl am Ende der Zeile ausgeführt werden. Eine alternative Möglichkeit, die gleiche Sache wie der Code zu „sagen“ Sie in *nix enthalten sind, ist

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

So Sie die | als Rohr möchten, und wollen es nicht entkommen.

wäre das Äquivalent in alten DOS .bat Datei

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

aber ältere Versionen von dos verwendet, um eine Grenze zu haben, wie viel „gespeichert“ in einem | (Rohr) werden könnte. Ich weiß nicht, was die derzeitigen Grenzen in der Windows-Cmd-Prompt sind, so müssen Sie Ihre eigenen temporären Dateien erstellen und diese dann in füttern, dh

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

Ich bin kein python Programmierer, so Ich vermisse etwas, was für Pythonisten völlig offensichtlich ist.


Ich habe mir nur den Quellcode von download.py angeschaut. Haben Sie dieses

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

IHTH

+0

perfekte Antwort, danke – MichaelAndroidNewbie

+0

Als Reaktion auf die 2 TB Warnung Shellter die zugehörige Webseite sagt, dass Sie 1.71TB benötigen, wenn Sie die frame_level Dataset und 31GB installieren, wenn Sie installieren das video_level-Dataset. Ich kann nicht sagen, dass ich den Quellcode verstehe, um die verschiedenen Streams zum Herunterladen eines bestimmten Datensatzes zu sehen, aber es scheint von der Webseite aus, dass ich in Ordnung sein sollte. Vielen Dank für den zusätzlichen Aufwand, um den Quellcode zu überprüfen! – MichaelAndroidNewbie