facebookresearch / mtrl
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 33% duplication:
    • 6,178 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,057 duplicated lines
  • 296 duplicates
system33% (2,057 lines)
Duplication per Extension
py27% (1,327 lines)
yaml64% (730 lines)
Duplication per Component (primary)
mtrl/agent32% (1,160 lines)
config/agent62% (433 lines)
config/metrics98% (188 lines)
mtrl/experiment15% (81 lines)
mtrl/env38% (64 lines)
config/experiment94% (51 lines)
config/env22% (30 lines)
config/setup87% (28 lines)
mtrl5% (22 lines)
mtrl/app0% (0 lines)
mtrl/utils0% (0 lines)
config/replay_buffer0% (0 lines)
config/logger0% (0 lines)
config/logbook0% (0 lines)
config0% (0 lines)
ROOT0% (0 lines)
docs_src/source0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 296 duplicates...
Size#FoldersFilesLinesCode
39 x 2 mtrl/agent
mtrl/agent
deepmdp.py
hipbmdp.py
24:62 (18%)
19:57 (26%)
view
37 x 2 config/metrics
config/metrics
all.yaml
hipbmdp.yaml
2:41 (50%)
2:41 (52%)
view
24 x 2 config/metrics
config/metrics
all.yaml
hipbmdp.yaml
55:78 (32%)
52:75 (33%)
view
23 x 2 config/metrics
config/metrics
all.yaml
metaworld.yaml
25:47 (31%)
27:49 (51%)
view
23 x 2 mtrl/env
mtrl/env
vec_env.py
vec_env.py
9:32 (27%)
59:82 (27%)
view
22 x 2 config/agent
config/agent
pcgrad_state_deepmdp.yaml
state_deepmdp.yaml
16:40 (62%)
15:39 (68%)
view
21 x 2 config/agent
config/agent
deepmdp.yaml
hipbmdp.yaml
19:39 (65%)
19:39 (65%)
view
20 x 2 config/agent
config/agent
deepmdp.yaml
state_deepmdp.yaml
8:32 (62%)
8:32 (62%)
view
19 x 2 mtrl/agent/components
mtrl/agent/components
moe_layer.py
soft_modularization.py
56:86 (8%)
21:44 (18%)
view
18 x 2 config/agent
config/agent
distral.yaml
sac_ae.yaml
37:57 (42%)
11:31 (75%)
view
18 x 2 mtrl/agent
mtrl/agent
grad_manipulation.py
pcgrad.py
34:53 (20%)
94:113 (14%)
view
17 x 2 config/experiment
config/experiment
hipbmdp.yaml
metaworld.yaml
3:22 (94%)
3:22 (94%)
view
17 x 2 config/metrics
config/metrics
hipbmdp.yaml
metaworld.yaml
25:41 (23%)
27:43 (37%)
view
17 x 2 config/experiment
config/experiment
metaworld.yaml
mtrl.yaml
3:22 (94%)
3:22 (94%)
view
17 x 2 config/experiment
config/experiment
hipbmdp.yaml
mtrl.yaml
3:22 (94%)
3:22 (94%)
view
16 x 2 mtrl/agent
mtrl/agent
grad_manipulation.py
gradnorm.py
26:42 (18%)
15:31 (13%)
view
16 x 2 config/agent
config/agent
distral.yaml
pcgrad_sac_ae.yaml
36:54 (38%)
11:29 (59%)
view
15 x 2 config/agent
config/agent
deepmdp.yaml
pcgrad_state_deepmdp.yaml
15:32 (46%)
16:33 (42%)
view
15 x 2 config/env
config/env
metaworld-mt10.yaml
metaworld-mt50.yaml
8:22 (68%)
6:20 (25%)
view
15 x 2 config/agent
config/agent
pcgrad_sac_ae.yaml
sac_ae.yaml
12:29 (55%)
11:28 (62%)
view
Duplicated Units
The list of top 15 duplicated units.
See data for all 15 unit duplicates...
Size#FoldersFilesLinesCode
29 x 2 mtrl/agent
mtrl/agent
deepmdp.py
hipbmdp.py
0:0 
0:0 
view
10 x 2 mtrl/env
mtrl/env
vec_env.py
vec_env.py
0:0 
0:0 
view
9 x 3 mtrl/agent
mtrl/agent
mtrl/agent
wrapper.py
gradnorm.py
grad_manipulation.py
0:0 
0:0 
0:0 
view
8 x 2 mtrl/agent
mtrl/agent
pcgrad.py
gradnorm.py
0:0 
0:0 
view
7 x 2 mtrl/agent/components
mtrl/agent/components
encoder.py
encoder.py
0:0 
0:0 
view
7 x 2 mtrl/agent/components
mtrl/agent/components
moe_layer.py
soft_modularization.py
0:0 
0:0 
view
6 x 5 mtrl/agent
mtrl/agent
mtrl/agent
mtrl/agent
mtrl/agent
abstract.py
wrapper.py
distral.py
sac.py
grad_manipulation.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 5 mtrl/agent
mtrl/agent
mtrl/agent
mtrl/agent
mtrl/agent
deepmdp.py
deepmdp.py
distral.py
sac.py
sac_ae.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
decoder.py
encoder.py
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
moe_layer.py
moe_layer.py
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
actor.py
actor.py
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
actor.py
critic.py
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
critic.py
critic.py
0:0 
0:0 
view
6 x 2 mtrl/agent/components
mtrl/agent/components
actor.py
critic.py
0:0 
0:0 
view
11 x 2 mtrl/agent/components
mtrl/agent/components
encoder.py
actor.py
0:0 
0:0 
view