Jack Monas
commited on
Commit
·
80e3dd0
1
Parent(s):
254ddce
rules
Browse files
app.py
CHANGED
@@ -1,114 +1,100 @@
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
3 |
-
import streamlit.components.v1 as components
|
4 |
|
5 |
-
# Set up page configuration
|
6 |
st.set_page_config(page_title="World Model Challenge", layout="wide")
|
7 |
|
8 |
-
# Sidebar
|
9 |
st.sidebar.title("Navigation")
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
12 |
|
13 |
# Overview Section
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
)
|
21 |
|
22 |
# Motivation Section
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
|
30 |
# Challenges Section
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
"This challenge asks: Can you predict a robot's real-world performance without physically deploying it? "
|
49 |
-
"You'll be given several policies for a specific task and must rank them by expected performance. "
|
50 |
-
"Your ranking is then compared to the true ranking of the policies."
|
51 |
-
)
|
52 |
|
53 |
# Datasets Section
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
|
64 |
# Scoring Section
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
)
|
71 |
-
|
72 |
-
st.subheader("Points Breakdown")
|
73 |
-
col1, col2, col3 = st.columns(3)
|
74 |
-
|
75 |
-
with col1:
|
76 |
-
st.markdown('<h3 style="margin-left:20px;">Compression</h3>', unsafe_allow_html=True)
|
77 |
-
st.markdown(
|
78 |
-
"""
|
79 |
-
- **1st Place:** 10 points
|
80 |
-
- **2nd Place:** 7 points
|
81 |
-
- **3rd Place:** 5 points
|
82 |
-
"""
|
83 |
-
)
|
84 |
-
with col2:
|
85 |
-
st.markdown('<h3 style="margin-left:20px;">Sampling</h3>', unsafe_allow_html=True)
|
86 |
-
st.markdown(
|
87 |
-
"""
|
88 |
-
- **1st Place:** 10 points
|
89 |
-
- **2nd Place:** 7 points
|
90 |
-
- **3rd Place:** 5 points
|
91 |
-
"""
|
92 |
-
)
|
93 |
-
with col3:
|
94 |
-
st.markdown('<h3 style="margin-left:20px;">Evaluation</h3>', unsafe_allow_html=True)
|
95 |
-
st.markdown(
|
96 |
-
"""
|
97 |
-
- **1st Place:** 20 points
|
98 |
-
- **2nd Place:** 14 points
|
99 |
-
- **3rd Place:** 10 points
|
100 |
-
"""
|
101 |
-
)
|
102 |
-
|
103 |
-
with st.expander("Tie-Breakers"):
|
104 |
-
st.write(
|
105 |
-
"In the event of a tie, the following tie-breakers will be applied in order:\n\n"
|
106 |
-
"1. Highest Evaluation Challenge score\n"
|
107 |
-
"2. Highest Sampling Challenge score\n"
|
108 |
-
"3. Highest Compression Challenge score"
|
109 |
-
)
|
110 |
-
|
111 |
st.write(
|
112 |
-
"
|
113 |
-
"
|
|
|
|
|
114 |
)
|
|
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
import pandas as pd
|
|
|
3 |
|
|
|
4 |
st.set_page_config(page_title="World Model Challenge", layout="wide")
|
5 |
|
6 |
+
# Sidebar with navigation links (using markdown with HTML anchors)
|
7 |
st.sidebar.title("Navigation")
|
8 |
+
st.sidebar.markdown("[Overview](#overview)")
|
9 |
+
st.sidebar.markdown("[Motivation](#motivation)")
|
10 |
+
st.sidebar.markdown("[Challenges](#challenges)")
|
11 |
+
st.sidebar.markdown("[Datasets](#datasets)")
|
12 |
+
st.sidebar.markdown("[Scoring](#scoring)")
|
13 |
|
14 |
# Overview Section
|
15 |
+
st.markdown("<h1 id='overview'>Overview</h1>", unsafe_allow_html=True)
|
16 |
+
st.header("Welcome")
|
17 |
+
st.write(
|
18 |
+
"Welcome to the World Model Challenge server. This platform hosts three challenges designed to advance research in world models for robotics: "
|
19 |
+
"Compression, Sampling, and Evaluation."
|
20 |
+
)
|
|
|
21 |
|
22 |
# Motivation Section
|
23 |
+
st.markdown("<h1 id='motivation'>Motivation</h1>", unsafe_allow_html=True)
|
24 |
+
st.header("Motivation")
|
25 |
+
st.write(
|
26 |
+
"Real-world robotics faces a constant challenge—environments are dynamic and ever-changing, which makes it difficult to reliably evaluate robot performance. "
|
27 |
+
"World models address this by learning to simulate complex interactions from raw sensor data. These learned simulators allow for robust testing and continuous improvement of robot policies without the limitations of physical testing."
|
28 |
+
)
|
29 |
|
30 |
# Challenges Section
|
31 |
+
st.markdown("<h1 id='challenges'>Challenges</h1>", unsafe_allow_html=True)
|
32 |
+
st.header("The Challenges")
|
33 |
+
st.subheader("Compression Challenge")
|
34 |
+
st.write(
|
35 |
+
"Train a model to compress our robots' logs effectively while preserving critical details needed to understand and predict future interactions. "
|
36 |
+
"Performance is measured by the model's loss—the lower the loss, the better it captures real-world complexities."
|
37 |
+
)
|
38 |
+
st.subheader("Sampling Challenge")
|
39 |
+
st.write(
|
40 |
+
"Predict a video frame two seconds ahead given a short clip of robot interactions. The goal is to create a coherent and plausible continuation that accurately reflects scene dynamics. "
|
41 |
+
"Submissions are judged by how closely they match the actual frame."
|
42 |
+
)
|
43 |
+
st.subheader("Evaluation Challenge")
|
44 |
+
st.write(
|
45 |
+
"Can you predict a robot's real-world performance without physically deploying it? You'll be given several policies for a specific task and must rank them by expected performance. "
|
46 |
+
"Your ranking is then compared to the true ranking of the policies."
|
47 |
+
)
|
|
|
|
|
|
|
|
|
48 |
|
49 |
# Datasets Section
|
50 |
+
st.markdown("<h1 id='datasets'>Datasets</h1>", unsafe_allow_html=True)
|
51 |
+
st.header("Datasets")
|
52 |
+
st.write(
|
53 |
+
"We offer two key datasets for the 1X World Model Challenge:\n\n"
|
54 |
+
"**Raw Data:** The [world_model_raw_data](https://huggingface.co/datasets/1x-technologies/world_model_raw_data) dataset provides raw sensor data, video logs, and annotated robot state sequences from diverse real-world scenarios. "
|
55 |
+
"It is split into 100 shards—each containing a 512x512 MP4 video, a segment index mapping, and state arrays—and is licensed under CC-BY-NC-SA 4.0.\n\n"
|
56 |
+
"**Tokenized Data:** The [world_model_tokenized_data](https://huggingface.co/datasets/1x-technologies/world_model_tokenized_data) dataset tokenizes raw video sequences using the NVIDIA Cosmos Tokenizer. "
|
57 |
+
"This compact representation is optimal for the Compression Challenge and is released under the Apache 2.0 license."
|
58 |
+
)
|
59 |
|
60 |
# Scoring Section
|
61 |
+
st.markdown("<h1 id='scoring'>Scoring</h1>", unsafe_allow_html=True)
|
62 |
+
st.header("Scoring")
|
63 |
+
st.write(
|
64 |
+
"Our scoring system rewards performance in all three challenges, with extra emphasis on the Evaluation Challenge. "
|
65 |
+
"A team's final rank is determined by the total points earned across the challenges."
|
66 |
+
)
|
67 |
+
st.subheader("Points Breakdown")
|
68 |
+
col1, col2, col3 = st.columns(3)
|
69 |
+
with col1:
|
70 |
+
st.markdown('<h3 style="margin-left:20px;">Compression</h3>', unsafe_allow_html=True)
|
71 |
+
st.markdown(
|
72 |
+
"- **1st Place:** 10 points\n"
|
73 |
+
"- **2nd Place:** 7 points\n"
|
74 |
+
"- **3rd Place:** 5 points"
|
75 |
+
)
|
76 |
+
with col2:
|
77 |
+
st.markdown('<h3 style="margin-left:20px;">Sampling</h3>', unsafe_allow_html=True)
|
78 |
+
st.markdown(
|
79 |
+
"- **1st Place:** 10 points\n"
|
80 |
+
"- **2nd Place:** 7 points\n"
|
81 |
+
"- **3rd Place:** 5 points"
|
82 |
+
)
|
83 |
+
with col3:
|
84 |
+
st.markdown('<h3 style="margin-left:20px;">Evaluation</h3>', unsafe_allow_html=True)
|
85 |
+
st.markdown(
|
86 |
+
"- **1st Place:** 20 points\n"
|
87 |
+
"- **2nd Place:** 14 points\n"
|
88 |
+
"- **3rd Place:** 10 points"
|
89 |
)
|
90 |
+
with st.expander("Tie-Breakers"):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
st.write(
|
92 |
+
"If teams tie in total points, the following tie-breakers will be applied in order:\n"
|
93 |
+
"1. Highest Evaluation Challenge score\n"
|
94 |
+
"2. Highest Sampling Challenge score\n"
|
95 |
+
"3. Highest Compression Challenge score"
|
96 |
)
|
97 |
+
st.write(
|
98 |
+
"The overall leaderboard, which shows the total points across all challenges, will go live on **March 10th**. "
|
99 |
+
"Additionally, each challenge will have its own leaderboard on their respective Hugging Face submission servers."
|
100 |
+
)
|