windows - Sådan downloader du youtube-8m dataset ved hjælp af curl

Indlæg af Hanne Mølgaard Plasc

Problem



Youtube-8m download websiden indeholder følgende curl instruktioner:


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


Jeg har lavet mappen og forsøger nu at downloade træningsdataene.


Når jeg udfører:


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


Jeg modtager følgende fejlmeddelelse:



  'partition' er ikke anerkendt som en intern eller ekstern kommando,
  opererbart program eller batch-fil.



Hvis jeg bruger en caret til at flygte fra | ligesom:


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


Derefter udskriver kommandoprompten hele indholdet af http://data.yt8m.org/download.py efterfulgt af: [21]



  krølle: (6) Kunne ikke løse vært: |

  krølle: (6) Kunne ikke løse vært: partition=1

  krølle: (6) Kunne ikke løse vært: mirror=eu

  krølle: (6) Kunne ikke løse vært: python



Hvordan bruger jeg curl til at downloade dette datasæt til Windows 10?

Bedste reference


Dette script er beregnet til at køre i et *nix (Unix eller linux eller ...) miljø.


Har du bash til Windows installeret? Hvis ja, det er den hurtige løsning, bare kør script/cmds i det pågældende miljø (og sørg for, at which python returnerer den korrekte /path/to/preferred/version\_of/python).


For at forklare/uddybe hvad den kode gør, kan *nix indstille env vars specifikt for kommandoen, der køres i slutningen af ​​linjen. En alternativ måde at 'sige' det samme som koden du har inkluderet i *nix er


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


Så du vil | som et rør, og du vil ikke undslippe det.


Tilsvarende i den gamle DOS .bat fil ville være


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


Men ældre versioner af dos plejede at have en grænse for, hvor meget der kunne 'gemmes' i en | (rør). Jeg ved ikke, hvad de nuværende grænser i Windows Cmd-prompt er, så du skal muligvis oprette dine egne temp filer og derefter føje dem ind, dvs.


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


Jeg er ikke en python programmør, så jeg kan mangle noget helt klart for pythonistas.





Bare kigget på kildekoden til download.py. Har du bemærket dette


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


IHTH