bruAristimunha commited on
Commit
862c36c
·
1 Parent(s): bf28da2

Add braindecode logo side-by-side and remove adapter emojis

Browse files

Display the braindecode logo next to the eegdash brain logo in the
header, linking to braindecode.org. Replace all adapter method emoji
icons with plain text labels across the leaderboard, about page,
submission form, and filters.

frontend/src/components/Logo/Logo.js CHANGED
@@ -28,27 +28,53 @@ const Logo = ({ height = "40px" }) => {
28
 
29
  return (
30
  <Box
31
- onClick={handleReset}
32
  sx={{
33
  height,
34
  display: "flex",
35
  alignItems: "center",
36
  justifyContent: "center",
37
- cursor: "pointer",
38
- transition: "opacity 0.2s ease",
39
- "&:hover": {
40
- opacity: 0.8,
41
- },
42
  }}
43
  >
44
  <Box
 
45
  sx={{
46
  height: "100%",
47
  aspectRatio: "200/150",
 
 
 
 
 
48
  }}
49
  >
50
  <HFLogo />
51
  </Box>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  </Box>
53
  );
54
  };
 
28
 
29
  return (
30
  <Box
 
31
  sx={{
32
  height,
33
  display: "flex",
34
  alignItems: "center",
35
  justifyContent: "center",
36
+ gap: 2,
 
 
 
 
37
  }}
38
  >
39
  <Box
40
+ onClick={handleReset}
41
  sx={{
42
  height: "100%",
43
  aspectRatio: "200/150",
44
+ cursor: "pointer",
45
+ transition: "opacity 0.2s ease",
46
+ "&:hover": {
47
+ opacity: 0.8,
48
+ },
49
  }}
50
  >
51
  <HFLogo />
52
  </Box>
53
+ <Box
54
+ component="a"
55
+ href="https://braindecode.org"
56
+ target="_blank"
57
+ rel="noopener noreferrer"
58
+ sx={{
59
+ height: "100%",
60
+ display: "flex",
61
+ alignItems: "center",
62
+ cursor: "pointer",
63
+ transition: "opacity 0.2s ease",
64
+ "&:hover": {
65
+ opacity: 0.8,
66
+ },
67
+ }}
68
+ >
69
+ <Box
70
+ component="img"
71
+ src="https://braindecode.org/stable/_images/braindecode.svg"
72
+ alt="Braindecode"
73
+ sx={{
74
+ height: "100%",
75
+ }}
76
+ />
77
+ </Box>
78
  </Box>
79
  );
80
  };
frontend/src/pages/AboutPage/AboutPage.js CHANGED
@@ -137,48 +137,48 @@ function AboutPage() {
137
  <Box component="ul" sx={{ pl: 3 }}>
138
  <li>
139
  <Typography variant="body1" color="text.secondary" paragraph>
140
- <strong>{"\u{1F9E9}"} LoRA</strong> - Low-Rank Adaptation (r=16,
141
  alpha=32): injects trainable low-rank matrices, ~98% parameter
142
  reduction.
143
  </Typography>
144
  </li>
145
  <li>
146
  <Typography variant="body1" color="text.secondary" paragraph>
147
- <strong>{"\u{1F4A1}"} IA3</strong> - Infused Adapter by Inhibiting
148
  and Amplifying Inner Activations: only learns scaling vectors,
149
  ~99.5% parameter reduction.
150
  </Typography>
151
  </li>
152
  <li>
153
  <Typography variant="body1" color="text.secondary" paragraph>
154
- <strong>{"\u{1F3AF}"} AdaLoRA</strong> - Adaptive Low-Rank
155
  Adaptation: dynamic rank allocation across layers for optimal
156
  budget distribution.
157
  </Typography>
158
  </li>
159
  <li>
160
  <Typography variant="body1" color="text.secondary" paragraph>
161
- <strong>{"\u{1F52C}"} DoRA</strong> - Weight-Decomposed Low-Rank
162
  Adaptation: decomposes weights into magnitude and direction
163
  components.
164
  </Typography>
165
  </li>
166
  <li>
167
  <Typography variant="body1" color="text.secondary" paragraph>
168
- <strong>{"\u{1F504}"} OFT</strong> - Orthogonal Fine-Tuning:
169
  applies orthogonal transformations to preserve pre-trained
170
  features.
171
  </Typography>
172
  </li>
173
  <li>
174
  <Typography variant="body1" color="text.secondary" paragraph>
175
- <strong>{"\u{1F50D}"} Probe</strong> - Linear probing baseline:
176
  freezes the encoder and trains only the classification head.
177
  </Typography>
178
  </li>
179
  <li>
180
  <Typography variant="body1" color="text.secondary" paragraph>
181
- <strong>{"\u{1F527}"} Full Fine-tune</strong> - Updates all model
182
  parameters (baseline for comparison).
183
  </Typography>
184
  </li>
 
137
  <Box component="ul" sx={{ pl: 3 }}>
138
  <li>
139
  <Typography variant="body1" color="text.secondary" paragraph>
140
+ <strong>LoRA</strong> - Low-Rank Adaptation (r=16,
141
  alpha=32): injects trainable low-rank matrices, ~98% parameter
142
  reduction.
143
  </Typography>
144
  </li>
145
  <li>
146
  <Typography variant="body1" color="text.secondary" paragraph>
147
+ <strong>IA3</strong> - Infused Adapter by Inhibiting
148
  and Amplifying Inner Activations: only learns scaling vectors,
149
  ~99.5% parameter reduction.
150
  </Typography>
151
  </li>
152
  <li>
153
  <Typography variant="body1" color="text.secondary" paragraph>
154
+ <strong>AdaLoRA</strong> - Adaptive Low-Rank
155
  Adaptation: dynamic rank allocation across layers for optimal
156
  budget distribution.
157
  </Typography>
158
  </li>
159
  <li>
160
  <Typography variant="body1" color="text.secondary" paragraph>
161
+ <strong>DoRA</strong> - Weight-Decomposed Low-Rank
162
  Adaptation: decomposes weights into magnitude and direction
163
  components.
164
  </Typography>
165
  </li>
166
  <li>
167
  <Typography variant="body1" color="text.secondary" paragraph>
168
+ <strong>OFT</strong> - Orthogonal Fine-Tuning:
169
  applies orthogonal transformations to preserve pre-trained
170
  features.
171
  </Typography>
172
  </li>
173
  <li>
174
  <Typography variant="body1" color="text.secondary" paragraph>
175
+ <strong>Probe</strong> - Linear probing baseline:
176
  freezes the encoder and trains only the classification head.
177
  </Typography>
178
  </li>
179
  <li>
180
  <Typography variant="body1" color="text.secondary" paragraph>
181
+ <strong>Full Fine-tune</strong> - Updates all model
182
  parameters (baseline for comparison).
183
  </Typography>
184
  </li>
frontend/src/pages/AddModelPage/components/ModelSubmissionForm/ModelSubmissionForm.js CHANGED
@@ -59,13 +59,13 @@ const HELP_TEXTS = {
59
  Adapter / Fine-tuning Method
60
  </Typography>
61
  <Typography variant="body2" sx={{ opacity: 0.9, lineHeight: 1.4 }}>
62
- {"\u{1F9E9}"} LoRA: Low-Rank Adaptation (~98% param reduction){" "}
63
- {"\u{1F4A1}"} IA3: Scaling vectors only (~99.5% reduction){" "}
64
- {"\u{1F3AF}"} AdaLoRA: Adaptive rank allocation{" "}
65
- {"\u{1F52C}"} DoRA: Weight-decomposed adaptation{" "}
66
- {"\u{1F504}"} OFT: Orthogonal fine-tuning{" "}
67
- {"\u{1F50D}"} Probe: Linear probing (head only){" "}
68
- {"\u{1F527}"} Full Fine-tune: All parameters updated
69
  </Typography>
70
  </Box>
71
  ),
@@ -110,9 +110,9 @@ const HELP_TEXTS = {
110
 
111
  // Convert MODEL_TYPES to format expected by Select component
112
  const modelTypeOptions = Object.entries(MODEL_TYPES).map(
113
- ([value, { icon, label }]) => ({
114
  value,
115
- label: `${icon} ${label}`,
116
  })
117
  );
118
 
 
59
  Adapter / Fine-tuning Method
60
  </Typography>
61
  <Typography variant="body2" sx={{ opacity: 0.9, lineHeight: 1.4 }}>
62
+ LoRA: Low-Rank Adaptation (~98% param reduction){" "}
63
+ IA3: Scaling vectors only (~99.5% reduction){" "}
64
+ AdaLoRA: Adaptive rank allocation{" "}
65
+ DoRA: Weight-decomposed adaptation{" "}
66
+ OFT: Orthogonal fine-tuning{" "}
67
+ Probe: Linear probing (head only){" "}
68
+ Full Fine-tune: All parameters updated
69
  </Typography>
70
  </Box>
71
  ),
 
110
 
111
  // Convert MODEL_TYPES to format expected by Select component
112
  const modelTypeOptions = Object.entries(MODEL_TYPES).map(
113
+ ([value, { label }]) => ({
114
  value,
115
+ label,
116
  })
117
  );
118
 
frontend/src/pages/LeaderboardPage/components/Leaderboard/components/Filters/Filters.js CHANGED
@@ -609,9 +609,7 @@ const LeaderboardFilters = ({
609
  ).map((type) => (
610
  <FilterTag
611
  key={type}
612
- label={`${MODEL_TYPES[type]?.icon} ${
613
- MODEL_TYPES[type]?.label || type
614
- }`}
615
  checked={selectedTypes.includes(type)}
616
  onChange={() => {
617
  const newTypes = selectedTypes.includes(type)
 
609
  ).map((type) => (
610
  <FilterTag
611
  key={type}
612
+ label={MODEL_TYPES[type]?.label || type}
 
 
613
  checked={selectedTypes.includes(type)}
614
  onChange={() => {
615
  const newTypes = selectedTypes.includes(type)
frontend/src/pages/LeaderboardPage/components/Leaderboard/constants/modelTypes.js CHANGED
@@ -14,43 +14,43 @@ export const MODEL_TYPE_ORDER = [
14
 
15
  export const MODEL_TYPES = {
16
  'lora': {
17
- icon: '\u{1F9E9}',
18
  label: 'LoRA',
19
  description: 'Low-Rank Adaptation: injects trainable low-rank matrices into transformer layers (~98% parameter reduction)',
20
  order: 0
21
  },
22
  'ia3': {
23
- icon: '\u{1F4A1}',
24
  label: 'IA3',
25
  description: 'Infused Adapter by Inhibiting and Amplifying Inner Activations (~99.5% parameter reduction)',
26
  order: 1
27
  },
28
  'adalora': {
29
- icon: '\u{1F3AF}',
30
  label: 'AdaLoRA',
31
  description: 'Adaptive Low-Rank Adaptation with dynamic rank allocation across layers',
32
  order: 2
33
  },
34
  'dora': {
35
- icon: '\u{1F52C}',
36
  label: 'DoRA',
37
  description: 'Weight-Decomposed Low-Rank Adaptation: decomposes weights into magnitude and direction',
38
  order: 3
39
  },
40
  'oft': {
41
- icon: '\u{1F504}',
42
  label: 'OFT',
43
  description: 'Orthogonal Fine-Tuning: applies orthogonal transformations to preserve pre-trained features',
44
  order: 4
45
  },
46
  'probe': {
47
- icon: '\u{1F50D}',
48
  label: 'Probe',
49
  description: 'Linear probing: freezes the encoder and trains only the classification head',
50
  order: 5
51
  },
52
  'full_finetune': {
53
- icon: '\u{1F527}',
54
  label: 'Full Fine-tune',
55
  description: 'Full fine-tuning baseline: all model parameters are updated during training',
56
  order: 6
@@ -62,7 +62,7 @@ export const getModelTypeIcon = (type) => {
62
  const matchedType = Object.entries(MODEL_TYPES).find(([key]) =>
63
  cleanType.includes(key)
64
  );
65
- return matchedType ? matchedType[1].icon : '\u{2753}';
66
  };
67
 
68
  export const getModelTypeLabel = (type) => {
 
14
 
15
  export const MODEL_TYPES = {
16
  'lora': {
17
+ icon: '',
18
  label: 'LoRA',
19
  description: 'Low-Rank Adaptation: injects trainable low-rank matrices into transformer layers (~98% parameter reduction)',
20
  order: 0
21
  },
22
  'ia3': {
23
+ icon: '',
24
  label: 'IA3',
25
  description: 'Infused Adapter by Inhibiting and Amplifying Inner Activations (~99.5% parameter reduction)',
26
  order: 1
27
  },
28
  'adalora': {
29
+ icon: '',
30
  label: 'AdaLoRA',
31
  description: 'Adaptive Low-Rank Adaptation with dynamic rank allocation across layers',
32
  order: 2
33
  },
34
  'dora': {
35
+ icon: '',
36
  label: 'DoRA',
37
  description: 'Weight-Decomposed Low-Rank Adaptation: decomposes weights into magnitude and direction',
38
  order: 3
39
  },
40
  'oft': {
41
+ icon: '',
42
  label: 'OFT',
43
  description: 'Orthogonal Fine-Tuning: applies orthogonal transformations to preserve pre-trained features',
44
  order: 4
45
  },
46
  'probe': {
47
+ icon: '',
48
  label: 'Probe',
49
  description: 'Linear probing: freezes the encoder and trains only the classification head',
50
  order: 5
51
  },
52
  'full_finetune': {
53
+ icon: '',
54
  label: 'Full Fine-tune',
55
  description: 'Full fine-tuning baseline: all model parameters are updated during training',
56
  order: 6
 
62
  const matchedType = Object.entries(MODEL_TYPES).find(([key]) =>
63
  cleanType.includes(key)
64
  );
65
+ return matchedType ? matchedType[1].icon : '';
66
  };
67
 
68
  export const getModelTypeLabel = (type) => {
frontend/src/pages/LeaderboardPage/components/Leaderboard/utils/columnUtils.js CHANGED
@@ -1,6 +1,6 @@
1
  import React from "react";
2
  import { Box, Typography, Link, Tooltip, IconButton } from "@mui/material";
3
- import { getModelTypeIcon } from "../constants/modelTypes";
4
  import TrendingUpIcon from "@mui/icons-material/TrendingUp";
5
  import TrendingDownIcon from "@mui/icons-material/TrendingDown";
6
  import RemoveIcon from "@mui/icons-material/Remove";
@@ -530,14 +530,13 @@ export const createColumns = (
530
  <Tooltip title={row.original.model.type}>
531
  <Typography
532
  sx={{
533
- fontSize: "1.2rem",
534
  cursor: "help",
535
  lineHeight: 1,
536
- fontFamily:
537
- '"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif',
538
  }}
539
  >
540
- {getModelTypeIcon(row.original.model.type)}
541
  </Typography>
542
  </Tooltip>
543
  </Box>
 
1
  import React from "react";
2
  import { Box, Typography, Link, Tooltip, IconButton } from "@mui/material";
3
+ import { getModelTypeLabel } from "../constants/modelTypes";
4
  import TrendingUpIcon from "@mui/icons-material/TrendingUp";
5
  import TrendingDownIcon from "@mui/icons-material/TrendingDown";
6
  import RemoveIcon from "@mui/icons-material/Remove";
 
530
  <Tooltip title={row.original.model.type}>
531
  <Typography
532
  sx={{
533
+ fontSize: "0.75rem",
534
  cursor: "help",
535
  lineHeight: 1,
536
+ fontWeight: 500,
 
537
  }}
538
  >
539
+ {getModelTypeLabel(row.original.model.type)}
540
  </Typography>
541
  </Tooltip>
542
  </Box>