1"use strict";(self.webpackChunkegoexo_docs=self.webpackChunkegoexo_docs||[]).push([[5080],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>c});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function o(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function i(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var p=n.createContext({}),d=function(t){var e=n.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):o(o({},e),t)),a},s=function(t){var e=d(t.components);return n.createElement(p.Provider,{value:e},t.children)},m="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},k=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,p=t.parentName,s=i(t,["components","mdxType","originalType","parentName"]),m=d(a),k=r,c=m["".concat(p,".").concat(k)]||m[k]||u[k]||l;return a?n.createElement(c,o(o({ref:e},s),{},{components:a})):n.createElement(c,o({ref:e},s))}));function c(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,o=new Array(l);o[0]=k;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i[m]="string"==typeof t?t:r,o[1]=i;for(var d=2;d<l;d++)o[d]=a[d];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},5219:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var n=a(7462),r=(a(7294),a(3905));const l={title:"CLI Downloader",sidebar_position:7},o=void 0,i={unversionedId:"download",id:"download",title:"CLI Downloader",description:"As a pre-requisite, you must:",source:"@site/docs/download.md",sourceDirName:".",slug:"/download",permalink:"/download",draft:!1,tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"CLI Downloader",sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"Proficiency Estimation",permalink:"/benchmarks/proficiency_estimation"},next:{title:"Tutorials",permalink:"/tutorials/"}},p={},d=[{value:"Setup AWS Client",id:"setup-aws-client",level:2},{value:"Download The Data",id:"download-dataset-c",level:2},{value:"Recommended Dataset",id:"recommended-dataset",level:3},{value:"Other Examples",id:"other-examples",level:4}],s={toc:d},m="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(m,(0,n.Z)({},s,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"As a pre-requisite, you must:"),(0,r.kt)("ol",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ol"},"Make sure you ",(0,r.kt)("strong",{parentName:"li"},"have a License Agreement"),". If you don't, please refer to the\n",(0,r.kt)("a",{parentName:"li",href:"../getting-started"},"Getting Started")," page. ",(0,r.kt)("em",{parentName:"li"},"The License Agreement process takes 2 days: so do it early!")),(0,r.kt)("li",{parentName:"ol"},"Have ",(0,r.kt)("strong",{parentName:"li"},"setup or installed the Ego4D")," codebase, please refer to the ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/facebookresearch/Ego4d?tab=readme-ov-file#setup"},"Ego4D\nGithub README"),"."),(0,r.kt)("li",{parentName:"ol"},"Configure your ",(0,r.kt)("inlineCode",{parentName:"li"},"aws")," client, please ",(0,r.kt)("a",{parentName:"li",href:"#setup-aws-client"},"see below"),"."))),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("ol",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ol"},"Upgrade your ego4d pip package to ",(0,r.kt)("inlineCode",{parentName:"li"},"1.7.1")," or above to enable faster downloads"),(0,r.kt)("li",{parentName:"ol"},"Ensure you have ",(0,r.kt)("a",{parentName:"li",href:"#setup-aws-client"},"setup your aws client")))),(0,r.kt)("p",null,'The dataset is large, due to this it is partitioned into separate "parts"\n(subsets). You may choose to download one or more parts of the dataset with\noptional filters in order to reduce how much you need to download.'),(0,r.kt)("p",null,"The different parts of the dataset include:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Part"),(0,r.kt)("th",{parentName:"tr",align:null},"Size (GB)"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"metadata")),(0,r.kt)("td",{parentName:"tr",align:null},"0.046"),(0,r.kt)("td",{parentName:"tr",align:null},"See ",(0,r.kt)("a",{parentName:"td",href:"/data/metadata"},"metadata"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"annotations")),(0,r.kt)("td",{parentName:"tr",align:null},"10.533"),(0,r.kt)("td",{parentName:"tr",align:null},"All the ",(0,r.kt)("a",{parentName:"td",href:"/annotations/"},"annotations")," in Ego-Exo4D")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"takes")),(0,r.kt)("td",{parentName:"tr",align:null},"10553.486"),(0,r.kt)("td",{parentName:"tr",align:null},"Frame aligned video files associated to the ",(0,r.kt)("a",{parentName:"td",href:"/data/takes"},"takes"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"captures")),(0,r.kt)("td",{parentName:"tr",align:null},"43.618"),(0,r.kt)("td",{parentName:"tr",align:null},"Timesync and post-survey data at the capture level (multiple takes)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"take_trajectory")),(0,r.kt)("td",{parentName:"tr",align:null},"509.503"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/data/mps/#trajectory"},"Trajectories")," trimmed at each take")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"take_eye_gaze"),(0,r.kt)("td",{parentName:"tr",align:null},"3.265"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/data/mps/#eye-gaze"},"Eye gaze")," for each take (3D & 2D)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"take_point_cloud"),(0,r.kt)("td",{parentName:"tr",align:null},"6164.615"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/data/mps#point-clouds"},"Point clouds")," for each take")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"take_vrs"),(0,r.kt)("td",{parentName:"tr",align:null},"12301.458"),(0,r.kt)("td",{parentName:"tr",align:null},"VRS files for each take")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"take_vrs_noimagestream")),(0,r.kt)("td",{parentName:"tr",align:null},"995.592"),(0,r.kt)("td",{parentName:"tr",align:null},"VRS files for each take without image stream data (video data within MP4 containers with ",(0,r.kt)("inlineCode",{parentName:"td"},"--parts takes"),")")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"capture_trajectory"),(0,r.kt)("td",{parentName:"tr",align:null},"851.691"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/data/mps#trajectory"},"Trajectory")," at the capture-level")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"capture_eye_gaze"),(0,r.kt)("td",{parentName:"tr",align:null},"5.619"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/data/mps#eye_gaze"},"Eye gaze")," at the capture-level (3D)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"capture_point_cloud"),(0,r.kt)("td",{parentName:"tr",align:null},"4750.039"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"data/mps/#point-clouds"},"Point clouds")," for each capture")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"downscaled_takes/448"),(0,r.kt)("td",{parentName:"tr",align:null},"438.556"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"data/downscaled_takes/"},"Downscaled takes")," at 448px on the shortest side")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"features/omnivore_video"),(0,r.kt)("td",{parentName:"tr",align:null},"49.986"),(0,r.kt)("td",{parentName:"tr",align:null},"Omnivore video ",(0,r.kt)("a",{parentName:"td",href:"/data/features"},"features"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"features/maws_clip_2b"),(0,r.kt)("td",{parentName:"tr",align:null},"533.826"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/facebookresearch/maws"},"MAWS CLIP")," (",(0,r.kt)("a",{parentName:"td",href:"https://github.com/facebookresearch/maws?tab=readme-ov-file#maws-pretrained-models"},"ViT-2b"),") ",(0,r.kt)("a",{parentName:"td",href:"/data/features"},"features")," for each frame of video")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"ego_pose_pseudo_gt"),(0,r.kt)("td",{parentName:"tr",align:null},"138.629"),(0,r.kt)("td",{parentName:"tr",align:null}
1,"Pseudo-ground truth data for ",(0,r.kt)("a",{parentName:"td",href:"/annotations/ego_pose/"},"Ego Pose"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"expert_commentary"),(0,r.kt)("td",{parentName:"tr",align:null},"42.292"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"/annotations/expert_commentary"},"Commentaries")," for each expert (audio recordings)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"take_transcription"),(0,r.kt)("td",{parentName:"tr",align:null},"0.094"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/facebookresearch/Ego4d/blob/main/ego4d/egoexo/scripts/extract_audio_transcribe.py#L22-L47"},"Audio transcriptions")," for each take")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"take_audio"),(0,r.kt)("td",{parentName:"tr",align:null},"1056.907"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/facebookresearch/Ego4d/blob/main/ego4d/egoexo/scripts/extract_audio_transcribe.py#L22-L47"},"Audio files")," for the egocentric aria camera")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("em",{parentName:"td"},"all")),(0,r.kt)("td",{parentName:"tr",align:null},"38449.753"),(0,r.kt)("td",{parentName:"tr",align:null},"All data within the release (you can use ",(0,r.kt)("inlineCode",{parentName:"td"},"--parts all"),")")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"default")),(0,r.kt)("td",{parentName:"tr",align:null},"12112.778"),(0,r.kt)("td",{parentName:"tr",align:null},"The default set of data in the release (you can use ",(0,r.kt)("inlineCode",{parentName:"td"},"--parts default")," or provide no parts)")))),(0,r.kt)("p",null,"The parts in ",(0,r.kt)("strong",{parentName:"p"},"bold")," refer to the ",(0,r.kt)("strong",{parentName:"p"},"recommended set")," (",(0,r.kt)("strong",{parentName:"p"},"default"),"). You can additionally filter based on:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Data relevant to a specific ",(0,r.kt)("a",{parentName:"li",href:"../benchmarks"},"benchmarks"),": ",(0,r.kt)("inlineCode",{parentName:"li"},"--benchmarks <benchmark_name>"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"e.g. ",(0,r.kt)("inlineCode",{parentName:"li"},"--benchmarks keystep relations taskgraph")))),(0,r.kt)("li",{parentName:"ul"},"Dataset splits (train/val/test): ",(0,r.kt)("inlineCode",{parentName:"li"},"--splits <s1> <s2> ..."),", e.g.",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"--splits train")," for data that only lies in the training set"))),(0,r.kt)("li",{parentName:"ul"},"Egocentric or exocentric related data (videos, trajectory)",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Use ",(0,r.kt)("inlineCode",{parentName:"li"},"--views exo")," for only exocentric, ",(0,r.kt)("inlineCode",{parentName:"li"},"--views ego")," for only\negocentric, or ",(0,r.kt)("inlineCode",{parentName:"li"},"--views ego exo")," for both. Defaults to both."))),(0,r.kt)("li",{parentName:"ul"},"Specific takes or captures to download: ",(0,r.kt)("inlineCode",{parentName:"li"},"--uids")),(0,r.kt)("li",{parentName:"ul"},"Universities (use ",(0,r.kt)("inlineCode",{parentName:"li"},"--universities")," or ",(0,r.kt)("inlineCode",{parentName:"li"},"-u"),")",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"e.g. ",(0,r.kt)("inlineCode",{parentName:"li"},"-u cmu unc sfu"))))),(0,r.kt)("p",null,"Please refer to the Download ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/facebookresearch/Ego4d/tree/main/ego4d/egoexo/download"},"CLI README")," or use the flag ",(0,r.kt)("inlineCode",{parentName:"p"},"--help")," for the latest parts of the dataset and additional usage of the dataset."),(0,r.kt)("h2",{id:"setup-aws-client"},"Setup AWS Client"),(0,r.kt)("p",null,"To setup your aws client, you will need to:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Install the aws-cli pip package, i.e. ",(0,r.kt)("inlineCode",{parentName:"li"}
1,"pip install awscli")),(0,r.kt)("li",{parentName:"ol"},"Run ",(0,r.kt)("inlineCode",{parentName:"li"},"aws configure")," or (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/aws/aws-cli?tab=readme-ov-file#configuration"},"see the official docs"),")")),(0,r.kt)("p",null,"When running ",(0,r.kt)("inlineCode",{parentName:"p"},"aws configure")," you simply need to enter your access key & secret key and then press Enter twice to follow the default region and output format."),(0,r.kt)("p",null,"You can have multiple profiles setup on your machine. To tell the downloader which profile to use, simply use the flag ",(0,r.kt)("inlineCode",{parentName:"p"},"--s3_profile <name>"),"."),(0,r.kt)("h2",{id:"download-dataset-c"},"Download The Data"),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"Before you download data, please ",(0,r.kt)("a",{parentName:"p",href:"#setup-aws-client"},"setup your aws client"),".")),(0,r.kt)("p",null,"Below are some examples on how to run the downloader CLI with common options:"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("mdxAdmonitionTitle",{parentName:"admonition"},"As noted above, you can use ",(0,r.kt)("inlineCode",{parentName:"mdxAdmonitionTitle"},"--help")," to view all the up-to-date options"),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre"},"egoexo --help\n"))),(0,r.kt)("h3",{id:"recommended-dataset"},"Recommended Dataset"),(0,r.kt)("p",null,"Download suggested dataset parts for all the takes present."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"egoexo -o <out-dir>\n")),(0,r.kt)("p",null,"This is equivalent to"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"egoexo -o <out-dir> --parts default\n")),(0,r.kt)("h4",{id:"other-examples"},"Other Examples"),(0,r.kt)("p",null,"Download all annotations & metadata:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"egoexo -o <out-dir> --parts annotations metadata\n")),(0,r.kt)("p",null,"Download all point clouds, eye gaze and trajectories for each take:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"egoexo -o <out-dir> --parts take_point_cloud take_eye_gaze trajectory\n")),(0,r.kt)("p",null,"Download all point clouds, eye gaze and trajectories:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"egoexo -o <out-dir> --parts take_point_cloud eye_gaze take_trajectory\n")))}u.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.