anhdao69 commited on
Commit
caee002
·
verified ·
1 Parent(s): 7f89d0d

Publish joint R2R + RxR_15deg FullContext+B epoch 1 (step 3852)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ epoch-1/tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3.5-4B
3
+ library_name: transformers
4
+ tags:
5
+ - vision-language-navigation
6
+ - r2r
7
+ - rxr
8
+ - simplememvln
9
+ - intermediate-checkpoint
10
+ ---
11
+ # SimpleMemVLN joint R2R + RxR_15deg FullContext+B
12
+
13
+ **Not yet evaluated in Habitat.** Training loss is not a navigation success metric.
14
+
15
+ ## Published snapshot
16
+ `epoch-1/` contains the completed first epoch, optimizer update 3852.
17
+ This is a **mid-schedule snapshot of one two-epoch cosine run**, not an
18
+ independently scheduled one-epoch model. The second epoch is not part of this
19
+ publication. Training continues separately; uploading does not change training.
20
+
21
+ ## Recipe and provenance
22
+ Joint R2R training data and English-guide RxR_15deg trajectories, full episodes.
23
+ Initialized from Qwen/Qwen3.5-4B revision
24
+ `851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a`.
25
+ Source base commit: `6bb2b10a2fe21cb6e25a265afc5a2af39b7de4f6`, with input-staging
26
+ and checkpoint-recovery patches. The tested source is identified by
27
+ `source.sha256`; the dataset manifest by `manifest.sha256`.
28
+ Serializer: `vln_append_only_chat_v1`. Native LLM text-action head (option B),
29
+ gold action history; per-action mean token cross-entropy including assistant
30
+ terminator, normalized over actions in the distributed accumulation window.
31
+ Frozen vision/merger, trainable text backbone and LLM head; BF16, ZeRO-2,
32
+ nonreentrant gradient checkpointing with long-sequence activation offload.
33
+ Full-context causal attention, no trajectory truncation or TBPTT.
34
+ Global batch 8 = four H100 GPUs × one episode/rank × GAS2.
35
+ Two epochs, 7704 optimization updates, 232 warmup updates, peak LR 5e-6,
36
+ cosine decay to 10% of peak, weight decay 0.01, seed 429.
37
+ Observation-before-action alignment is declared but not independently
38
+ verified against collector source or Habitat replay.
39
+
40
+ ## Loading and integrity
41
+ Use the SimpleMemVLN wrapper loader
42
+ `qwen_vl.train.vln_runtime.load_checkpoint(epoch_directory, base_model_path)`
43
+ with the pinned base snapshot. These are navigation-wrapper weights, not a
44
+ plain AutoModel state dictionary. Navigation metadata records the recipe.
45
+ Only model, processor, tokenizer, provenance and selected training metadata
46
+ are published. Optimizer/RNG state, dataset images and credentials stay local.
47
+ `SHA256SUMS.json` records content hashes. The uploader downloads every file
48
+ at its immutable Hub commit and verifies SHA256 before reporting success.
SHA256SUMS.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "README.md": "7773178322d52c20ef11c7ef8e9e2fb6e432e6985035bd0a6e33de26fe16e20e",
3
+ "epoch-1/chat_template.jinja": "a4aee8afcf2e0711942cf848899be66016f8d14a889ff9ede07bca099c28f715",
4
+ "epoch-1/config.json": "2451a8786918f4c348acb32c438d9a127098c022334ae1a7713ce5be588a7df1",
5
+ "epoch-1/navigation.json": "d1d16f2c26e926268e05baa459454c46172a5ccc42271185e5dd106ba25c26b9",
6
+ "epoch-1/processor_config.json": "d89ef49ce9cd37fbf510158e13c1ef063d9286411c1ec9049932dbe0487143b1",
7
+ "epoch-1/pytorch_model.bin": "53404dfc02b46063b54422954b7cb8635c7ff893a4c6f44aeec70bb7693d737f",
8
+ "epoch-1/tokenizer.json": "06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523",
9
+ "epoch-1/tokenizer_config.json": "7488550a894dcf741616126e322ea31d66cf9457b59ec5825f4c7efdced421f8",
10
+ "epoch-1/trainer_state.json": "91aa485b14f33e9af7539a557255bf99e5b9355ccb00ba2dcd0b42cbc980b8ee",
11
+ "manifest.sha256": "b679ab7ddb7e1a7af197d1598ac2253edb3624644136504d4f25ae575db8212f",
12
+ "reports/epoch-1.json": "db680518d95702f0a91310e481c4cd53bdcea66db8dfa3b78ae7edf9b11e57b8",
13
+ "source.sha256": "8c0410277f430ebb4d460dcc597dc5433a2dcce6156b81bc2d13495165ac715a"
14
+ }
epoch-1/chat_template.jinja ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- if tools and tools is iterable and tools is not mapping %}
46
+ {{- '<|im_start|>system\n' }}
47
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
+ {%- for tool in tools %}
49
+ {{- "\n" }}
50
+ {{- tool | tojson }}
51
+ {%- endfor %}
52
+ {{- "\n</tools>" }}
53
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
54
+ {%- if messages[0].role == 'system' %}
55
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
56
+ {%- if content %}
57
+ {{- '\n\n' + content }}
58
+ {%- endif %}
59
+ {%- endif %}
60
+ {{- '<|im_end|>\n' }}
61
+ {%- else %}
62
+ {%- if messages[0].role == 'system' %}
63
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
64
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
+ {%- endif %}
66
+ {%- endif %}
67
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
+ {%- for message in messages[::-1] %}
69
+ {%- set index = (messages|length - 1) - loop.index0 %}
70
+ {%- if ns.multi_step_tool and message.role == "user" %}
71
+ {%- set content = render_content(message.content, false)|trim %}
72
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
+ {%- set ns.multi_step_tool = false %}
74
+ {%- set ns.last_query_index = index %}
75
+ {%- endif %}
76
+ {%- endif %}
77
+ {%- endfor %}
78
+ {%- if ns.multi_step_tool %}
79
+ {{- raise_exception('No user query found in messages.') }}
80
+ {%- endif %}
81
+ {%- for message in messages %}
82
+ {%- set content = render_content(message.content, true)|trim %}
83
+ {%- if message.role == "system" %}
84
+ {%- if not loop.first %}
85
+ {{- raise_exception('System message must be at the beginning.') }}
86
+ {%- endif %}
87
+ {%- elif message.role == "user" %}
88
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
+ {%- elif message.role == "assistant" %}
90
+ {%- set reasoning_content = '' %}
91
+ {%- if message.reasoning_content is string %}
92
+ {%- set reasoning_content = message.reasoning_content %}
93
+ {%- else %}
94
+ {%- if '</think>' in content %}
95
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
+ {%- endif %}
98
+ {%- endif %}
99
+ {%- set reasoning_content = reasoning_content|trim %}
100
+ {%- if loop.index0 > ns.last_query_index %}
101
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
+ {%- else %}
103
+ {{- '<|im_start|>' + message.role + '\n' + content }}
104
+ {%- endif %}
105
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
+ {%- for tool_call in message.tool_calls %}
107
+ {%- if tool_call.function is defined %}
108
+ {%- set tool_call = tool_call.function %}
109
+ {%- endif %}
110
+ {%- if loop.first %}
111
+ {%- if content|trim %}
112
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
+ {%- else %}
114
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
+ {%- endif %}
116
+ {%- else %}
117
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
+ {%- endif %}
119
+ {%- if tool_call.arguments is defined %}
120
+ {%- for args_name, args_value in tool_call.arguments|items %}
121
+ {{- '<parameter=' + args_name + '>\n' }}
122
+ {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
123
+ {{- args_value }}
124
+ {{- '\n</parameter>\n' }}
125
+ {%- endfor %}
126
+ {%- endif %}
127
+ {{- '</function>\n</tool_call>' }}
128
+ {%- endfor %}
129
+ {%- endif %}
130
+ {{- '<|im_end|>\n' }}
131
+ {%- elif message.role == "tool" %}
132
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
133
+ {{- '<|im_start|>user' }}
134
+ {%- endif %}
135
+ {{- '\n<tool_response>\n' }}
136
+ {{- content }}
137
+ {{- '\n</tool_response>' }}
138
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
139
+ {{- '<|im_end|>\n' }}
140
+ {%- elif loop.last %}
141
+ {{- '<|im_end|>\n' }}
142
+ {%- endif %}
143
+ {%- else %}
144
+ {{- raise_exception('Unexpected message role.') }}
145
+ {%- endif %}
146
+ {%- endfor %}
147
+ {%- if add_generation_prompt %}
148
+ {{- '<|im_start|>assistant\n' }}
149
+ {%- if enable_thinking is defined and enable_thinking is false %}
150
+ {{- '<think>\n\n</think>\n\n' }}
151
+ {%- else %}
152
+ {{- '<think>\n' }}
153
+ {%- endif %}
154
+ {%- endif %}
epoch-1/config.json ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3_5ForConditionalGeneration"
4
+ ],
5
+ "dtype": "bfloat16",
6
+ "eos_token_id": 248046,
7
+ "image_token_id": 248056,
8
+ "model_type": "qwen3_5",
9
+ "pad_token_id": 248044,
10
+ "text_config": {
11
+ "attention_bias": false,
12
+ "attention_dropout": 0.0,
13
+ "attn_output_gate": true,
14
+ "bos_token_id": null,
15
+ "dtype": "bfloat16",
16
+ "eos_token_id": 248044,
17
+ "full_attention_interval": 4,
18
+ "head_dim": 256,
19
+ "hidden_act": "silu",
20
+ "hidden_size": 2560,
21
+ "initializer_range": 0.02,
22
+ "intermediate_size": 9216,
23
+ "layer_types": [
24
+ "linear_attention",
25
+ "linear_attention",
26
+ "linear_attention",
27
+ "full_attention",
28
+ "linear_attention",
29
+ "linear_attention",
30
+ "linear_attention",
31
+ "full_attention",
32
+ "linear_attention",
33
+ "linear_attention",
34
+ "linear_attention",
35
+ "full_attention",
36
+ "linear_attention",
37
+ "linear_attention",
38
+ "linear_attention",
39
+ "full_attention",
40
+ "linear_attention",
41
+ "linear_attention",
42
+ "linear_attention",
43
+ "full_attention",
44
+ "linear_attention",
45
+ "linear_attention",
46
+ "linear_attention",
47
+ "full_attention",
48
+ "linear_attention",
49
+ "linear_attention",
50
+ "linear_attention",
51
+ "full_attention",
52
+ "linear_attention",
53
+ "linear_attention",
54
+ "linear_attention",
55
+ "full_attention"
56
+ ],
57
+ "linear_conv_kernel_dim": 4,
58
+ "linear_key_head_dim": 128,
59
+ "linear_num_key_heads": 16,
60
+ "linear_num_value_heads": 32,
61
+ "linear_value_head_dim": 128,
62
+ "mamba_ssm_dtype": "float32",
63
+ "max_position_embeddings": 262144,
64
+ "mlp_only_layers": [],
65
+ "model_type": "qwen3_5_text",
66
+ "mtp_num_hidden_layers": 1,
67
+ "mtp_use_dedicated_embeddings": false,
68
+ "num_attention_heads": 16,
69
+ "num_hidden_layers": 32,
70
+ "num_key_value_heads": 4,
71
+ "pad_token_id": null,
72
+ "partial_rotary_factor": 0.25,
73
+ "rms_norm_eps": 1e-06,
74
+ "rope_parameters": {
75
+ "mrope_interleaved": true,
76
+ "mrope_section": [
77
+ 11,
78
+ 11,
79
+ 10
80
+ ],
81
+ "partial_rotary_factor": 0.25,
82
+ "rope_theta": 10000000,
83
+ "rope_type": "default"
84
+ },
85
+ "tie_word_embeddings": true,
86
+ "use_cache": true,
87
+ "vocab_size": 248320
88
+ },
89
+ "tie_word_embeddings": true,
90
+ "transformers_version": "5.11.0",
91
+ "use_cache": false,
92
+ "video_token_id": 248057,
93
+ "vision_config": {
94
+ "deepstack_visual_indexes": [],
95
+ "depth": 24,
96
+ "dtype": "bfloat16",
97
+ "hidden_act": "gelu_pytorch_tanh",
98
+ "hidden_size": 1024,
99
+ "in_channels": 3,
100
+ "initializer_range": 0.02,
101
+ "intermediate_size": 4096,
102
+ "model_type": "qwen3_5_vision",
103
+ "num_heads": 16,
104
+ "num_position_embeddings": 2304,
105
+ "out_hidden_size": 2560,
106
+ "patch_size": 16,
107
+ "spatial_merge_size": 2,
108
+ "temporal_patch_size": 2
109
+ },
110
+ "vision_end_token_id": 248054,
111
+ "vision_start_token_id": 248053
112
+ }
epoch-1/navigation.json ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "serializer": "vln_append_only_chat_v1",
3
+ "template_sha256": "fb79cf3922f74475e9a5faaac8c08d2f79a3ca7bef5dbf434f3f7726119229b8",
4
+ "actions": [
5
+ "MOVE_FORWARD",
6
+ "TURN_LEFT",
7
+ "TURN_RIGHT",
8
+ "STOP"
9
+ ],
10
+ "habitat_ids": [
11
+ 1,
12
+ 2,
13
+ 3,
14
+ 0
15
+ ],
16
+ "action_token_ids": [
17
+ [
18
+ 28164,
19
+ 61846,
20
+ 248046
21
+ ],
22
+ [
23
+ 15834,
24
+ 18440,
25
+ 248046
26
+ ],
27
+ [
28
+ 15834,
29
+ 20549,
30
+ 248046
31
+ ],
32
+ [
33
+ 48964,
34
+ 248046
35
+ ]
36
+ ],
37
+ "eos": 248046,
38
+ "separator_ids": [
39
+ 198
40
+ ],
41
+ "rgb_shape": [
42
+ 480,
43
+ 640,
44
+ 3
45
+ ],
46
+ "position_convention": "logical_text_plus_native_mrope_v1",
47
+ "rotary_precision": "fp32_preserved_across_module_casts_v1",
48
+ "config": {
49
+ "model": {
50
+ "backbone": "Qwen/Qwen3.5-4B",
51
+ "revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
52
+ "output_mode": "qwen_text"
53
+ },
54
+ "observations": {
55
+ "expected_rgb_shape": [
56
+ 480,
57
+ 640,
58
+ 3
59
+ ],
60
+ "expected_visual_tokens": 300,
61
+ "max_prefix_tokens": 2048,
62
+ "serializer_version": "vln_append_only_chat_v1",
63
+ "max_step_group_tokens": 384,
64
+ "append_action_tokens": true
65
+ },
66
+ "memory": {
67
+ "mode": "full_context",
68
+ "kv_window_steps_including_current": null,
69
+ "evict_before_new_step": false,
70
+ "kv_guard_tokens": 262144
71
+ },
72
+ "training": {
73
+ "use_cache": false,
74
+ "microbatch_episodes_per_rank": 1,
75
+ "nominal_episodes_per_update": 8,
76
+ "gradient_accumulation_steps": 2,
77
+ "model_max_length": 262144,
78
+ "epochs": 2,
79
+ "backbone_lr": 5e-06,
80
+ "classifier_lr": 5e-06,
81
+ "weight_decay": 0.01,
82
+ "warmup_steps": 232,
83
+ "seed": 429,
84
+ "checkpoint_decoder_layers": true,
85
+ "length_bucket_pool_episodes": 64,
86
+ "tail_policy": "accelerate_repeat",
87
+ "activation_offload_min_tokens": 65536,
88
+ "supervise_assistant_terminator": true,
89
+ "expected_total_steps": 7704,
90
+ "expected_warmup_steps": 232,
91
+ "dataloader_num_workers": 4,
92
+ "save_strategy": "epoch",
93
+ "save_total_limit": null
94
+ },
95
+ "runtime": {
96
+ "text_attention": "flash_attention_2",
97
+ "vision_attention": "flash_attention_2",
98
+ "vision_microbatch_images": 4,
99
+ "max_logical_context_tokens": 262144
100
+ },
101
+ "generation": {
102
+ "max_response_tokens_including_eos": 16,
103
+ "fixed_separator": "\n"
104
+ }
105
+ }
106
+ }
epoch-1/processor_config.json ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "image_processor": {
3
+ "do_convert_rgb": true,
4
+ "do_normalize": true,
5
+ "do_rescale": true,
6
+ "do_resize": true,
7
+ "image_mean": [
8
+ 0.5,
9
+ 0.5,
10
+ 0.5
11
+ ],
12
+ "image_processor_type": "Qwen2VLImageProcessor",
13
+ "image_std": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "merge_size": 2,
19
+ "patch_size": 16,
20
+ "resample": 3,
21
+ "rescale_factor": 0.00392156862745098,
22
+ "size": {
23
+ "longest_edge": 16777216,
24
+ "shortest_edge": 65536
25
+ },
26
+ "temporal_patch_size": 2
27
+ },
28
+ "processor_class": "Qwen3VLProcessor",
29
+ "video_processor": {
30
+ "do_convert_rgb": true,
31
+ "do_normalize": true,
32
+ "do_rescale": true,
33
+ "do_resize": true,
34
+ "do_sample_frames": true,
35
+ "fps": 2,
36
+ "image_mean": [
37
+ 0.5,
38
+ 0.5,
39
+ 0.5
40
+ ],
41
+ "image_std": [
42
+ 0.5,
43
+ 0.5,
44
+ 0.5
45
+ ],
46
+ "max_frames": 768,
47
+ "merge_size": 2,
48
+ "min_frames": 4,
49
+ "patch_size": 16,
50
+ "resample": 3,
51
+ "rescale_factor": 0.00392156862745098,
52
+ "return_metadata": false,
53
+ "size": {
54
+ "longest_edge": 25165824,
55
+ "shortest_edge": 4096
56
+ },
57
+ "temporal_patch_size": 2,
58
+ "video_processor_type": "Qwen3VLVideoProcessor"
59
+ }
60
+ }
epoch-1/pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53404dfc02b46063b54422954b7cb8635c7ff893a4c6f44aeec70bb7693d737f
3
+ size 10350179723
epoch-1/tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523
3
+ size 19989325
epoch-1/tokenizer_config.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "audio_bos_token": "<|audio_start|>",
4
+ "audio_eos_token": "<|audio_end|>",
5
+ "audio_token": "<|audio_pad|>",
6
+ "backend": "tokenizers",
7
+ "bos_token": null,
8
+ "clean_up_tokenization_spaces": false,
9
+ "eos_token": "<|im_end|>",
10
+ "errors": "replace",
11
+ "image_token": "<|image_pad|>",
12
+ "is_local": true,
13
+ "local_files_only": true,
14
+ "model_max_length": 262144,
15
+ "model_specific_special_tokens": {
16
+ "audio_bos_token": "<|audio_start|>",
17
+ "audio_eos_token": "<|audio_end|>",
18
+ "audio_token": "<|audio_pad|>",
19
+ "image_token": "<|image_pad|>",
20
+ "video_token": "<|video_pad|>",
21
+ "vision_bos_token": "<|vision_start|>",
22
+ "vision_eos_token": "<|vision_end|>"
23
+ },
24
+ "pad_token": "<|endoftext|>",
25
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
26
+ "processor_class": "Qwen3VLProcessor",
27
+ "split_special_tokens": false,
28
+ "tokenizer_class": "Qwen2Tokenizer",
29
+ "unk_token": null,
30
+ "video_token": "<|video_pad|>",
31
+ "vision_bos_token": "<|vision_start|>",
32
+ "vision_eos_token": "<|vision_end|>"
33
+ }
epoch-1/trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
manifest.sha256 ADDED
@@ -0,0 +1 @@
 
 
1
+ 5deb425d2594ce96931dd6ce12bd6084b066cd44f04808c1dd3ee2e4b3672933 /mnt/data/vmo-ai-task/anhdh35/SimpleMemVLN/artifacts/r2r_rxr15_train_20260929.jsonl
reports/epoch-1.json ADDED
The diff for this file is too large to render. See raw diff
 
source.sha256 ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1335aae0e90c8cee5e467270e283c7f59bfcc0d4f3988febffc53ee3707abfec configs/r2r_uniform8.json
2
+ 8f51ed28c48d7edd89314771baa6454535d275ae786e92aa1c1bc40582fb4b6b configs/vln_joint_b_2epoch_bs8.yaml
3
+ 05a2f9be2f36e9352bc8014961ed2a433fcac0a98eda4f6bf48a0e8edd4d43b4 configs/vln_memory_window8.yaml
4
+ ceb1cfa33701cba9a313a9c06c7edb45871ff73733dea18050c8c3f328275809 configs/vln_r2r_b_3epoch_bs8.yaml
5
+ 50a06a8d1944d8604497db1c0a15139618b67c2467382bdd952cae6bcf7389a0 configs/vln_r2r_v0_base.yaml
6
+ bef4a0e7bf4b38059c0cb34167f0ec29d9debbd9b76ba05532d2e83b954abc49 configs/vln_r2r_v0_classification.yaml
7
+ b19612c035a1640691f94a9d3b3118ce4324b2c23d72baac26d7ceda8560b262 configs/vln_r2r_v0_qwen_text.yaml
8
+ ea79511c0cb47627c1e7365d68f39d58794763a99d42c883daa0c5c1027e8572 scripts/__init__.py
9
+ feb26015dad55132cf28feb600e469fb9ee43b93d688f5fb2ef1b2d117ef8ab0 scripts/vln/__init__.py
10
+ 7a7e0b1f38188683dd5862975430c6b22aba9a1b535a29353d2390986254a1fc scripts/vln/audit_data.py
11
+ 30227974994c37ac1998cd494968411751aa3a9333e14468cc8b181e4018f3a4 scripts/vln/campaign_preflight.py
12
+ d928ead9cf1bdda95ccb3ad7a8ee4ac2c97b2f3601cb5151d39131d20f849846 scripts/vln/check_compat.py
13
+ 4bc0fe0f536b0789b47313950c0b9cabae8686f4b4378f3b85c3b4c83310cccc scripts/vln/check_distributed_loss.py
14
+ 54d1699a4a0da81f47a156f2e01792e25566177bd2babdb19e09e3a300f10b7d scripts/vln/check_distributed_resume.py
15
+ 43de9fabc119b3ae3216f9987016d4375a939740af4840ac84e7044b4fca7d34 scripts/vln/check_epoch_saving.py
16
+ 54ac07b888ae22756586f1517d321e315e10e8feff47d1996ebe6562f46032db scripts/vln/check_generated_history.py
17
+ ac81b82ca9c91248cee8b1952c3d3242e33ce63f096c2fd15b800024df741978 scripts/vln/check_gradients.py
18
+ 1c0d58c4af450f8f5f9739472e5f82de0c89eaa5f1c12ec338f3009ab109c43b scripts/vln/check_model_process.py
19
+ 7910578a13073ca41221cfb02db5e1e3a1aabe3929e97575acca8a81fa2b5228 scripts/vln/check_parity.py
20
+ 4414dfef07114db7a0ae83ef5e137991aa1c8122f5ec04c5a6e4837c28b0b3fc scripts/vln/check_real_gdn.py
21
+ 74016ef65f6a92dd8303080fd917165df911517c5979eeab8f7b1a00ecbb7cea scripts/vln/check_recovery_saving.py
22
+ a624c808939867505184af8edbfa49302411befb60e269ae5ceaf9f65c121258 scripts/vln/check_reload.py
23
+ 88c64aeed1e523671d75917fab12a10125e4583ee49cd24277dcf784ae3152f9 scripts/vln/fingerprint.py
24
+ c6d3b77dae038d88a977ef1e54fdd3da227863532c7eb642c0d7f6a8f8aadb2a scripts/vln/prepare_joint.py
25
+ c1ea6588ff4d141f5ee6e2cbc4e8b60f79fa5feeb72420083b53d70eb9fdbdce scripts/vln/prepare_r2r.py
26
+ bb9836ab32f37cfab6fc121872caf3dd7b11eb1981586adfdce3296b8f523660 scripts/vln/profile_episode.py
27
+ 9fc81dbaa2305e018b8928fbee9a7bea0528a262effdd40746ee616254b0154e scripts/vln/profile_input_staging.py
28
+ c2062775688948b15b9e3121928be31a9b682abed0fbfbe347dbece5f7f6a851 scripts/vln/profile_stream.py
29
+ f328ef197cb7a9be8868658b965222a8d1dd863ffb64e36e46ff34322247cd0b scripts/vln/report_campaign.py
30
+ 72a63ee59d5f7cc848c34a2f0ec8c263a2c58ad7f7d8c57b1c822fc7e757a667 scripts/vln/submit_campaign.py
31
+ 912bc7296db97690312f6e2f3feb0c2588e6a5d17e3ad46b985f5a24752abd0d scripts/vln/summarize_run.py
32
+ c5abab2738bbd0f5d726f4f99354b14f937807aaa2d5046e82b9af4f790e2b9f scripts/vln/upload_campaign.py
33
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 src/qwen_vl/__init__.py
34
+ 001861a6bb7633870139fd217123a0645a321509b0f334a1d5b9b90cbfd121ff src/qwen_vl/contracts.py
35
+ bde5ddc22a4a6bdd770ad2f33654de2f132c817b2a0cfe25779a6c597d2a433f src/qwen_vl/data/__init__.py
36
+ 69049e220bdbf6f5f6e495a6d36c85c024af3b7792d8f9b5b4d5f905ed15bbd1 src/qwen_vl/data/data_qwen.py
37
+ 8320ae7d1f8f38de60674e467e702c2ce505f7f6cc42a039c81a391e87738074 src/qwen_vl/data/episode_dataset.py
38
+ b31801ff0f01ecf0e22ec18dcb270af2fe4a33483512542696e7f3550bc49ffd src/qwen_vl/data/episode_serializer.py
39
+ cd0716138ae19d0b83d24c7c7812b767937769730a68e8b38cfe1c888cc3e9b0 src/qwen_vl/eval/__init__.py
40
+ 653635a4f4a24cfb9fc4e179968c879f7b0cb2a2a3ee4128dad5e46debb9025f src/qwen_vl/eval/habitat_r2r.py
41
+ 1afc3ac43cfaf76f6038249107d7f9c7d0b8bedc0fa5da3a77a5475d2f19f130 src/qwen_vl/eval/metrics.py
42
+ 91a67bfc89269b248fd117c1bee2e89bf4508419c52bfb36a5802ec795d05e78 src/qwen_vl/models/__init__.py
43
+ f815b55243dcc25037ac36a33caf1961e903b801cbcd97b9c3e99c98d335ca0e src/qwen_vl/models/activation_offload.py
44
+ 94086a0ad9afdbb1354a7847f099e1a70f25989a1999937998d2048f4d967233 src/qwen_vl/models/nav_model.py
45
+ f2fc60a24705fd98f663ad59abb8ed980150771a1e74f91ed3ad16d86cf7d1ec src/qwen_vl/stream/__init__.py
46
+ 9fd3cf471f115024ae695cea534fdeafa1e58a36be8a567abb5f4984e3ccbc18 src/qwen_vl/stream/cache.py
47
+ 9e9b397cd3abdfd0aa7d42646f1aa817ac8c58027827c9773cfbf46bb1774279 src/qwen_vl/stream/positions.py
48
+ 2709ffab5a12bd7dd67ee8123a4620b381417ae120691385649f6d6c40208eb0 src/qwen_vl/stream/server.py
49
+ 09ba03c024944cb9af2061ea07755c195a042b5087340f6dd2601ab523ad042a src/qwen_vl/stream/session.py
50
+ 1ce29f74887712443ade30e8b1e7e20df0c33a1612d39e726217b681b2de0c6a src/qwen_vl/stream/window_attention.py
51
+ 1cd337494566de239c80d95aefdcac1996a5cc1a787a266ccea8a4d0259a9822 src/qwen_vl/train/argument.py
52
+ aa2f772ceaffcb9dc09ca3a0dd7ae878c082337b7270dc4c27f9ec71a020d591 src/qwen_vl/train/campaign.py
53
+ b8af85b47bdb3bbf73f1c9e294fc8ddc0cdad40b7723bd0afd3e66000dd44b4e src/qwen_vl/train/recovery.py
54
+ 63ae756ee57b429bcb48f2ab5f2d97f8685fa4a29d8288df78babca73a884dc5 src/qwen_vl/train/sampler.py
55
+ 9f3e81b29161d9e1c9b4c7c210dd1bcfa96506972a08535e7bbade2be7b912a0 src/qwen_vl/train/train_episode.py
56
+ 799a41a03b929dc73bed9fe8fc9e899854a20e5901b608876d706467536fdb49 src/qwen_vl/train/train_qwen.py
57
+ ac4ed753419e26f2315ab61753f5bd68c5f8ae39a7d22672d121ecf434b40a36 src/qwen_vl/train/trainer.py
58
+ c2ab553943b035aa99cdfcfa66e00b54581876c5e5a18d422af226e08dc5e7c9 src/qwen_vl/train/vln_runtime.py
59
+ 68ebdb7b97cdb29aa993117285541ee31f7105161b2d5c6b1e90e05cb3c48203 tests/vln/test_activation_offload.py
60
+ 6fb5652db21a50016db4410c8b049edd29a04d4f726c7c3af921c85031b3b8a2 tests/vln/test_campaign.py
61
+ 1176932208ffda58c953c3c37d987a5b2b1b90bdbb7eb8dce9eb36bc3377b436 tests/vln/test_campaign_reporting.py
62
+ 12c3c959ffe3ce63d4f9636a701d2f513d54f7a76aa3d93b647ebeb749dbd42a tests/vln/test_contracts.py
63
+ 34402c86919445cdde9b07354947cee46aadce255ac281bace26ac2df0591aa2 tests/vln/test_eval_metrics.py
64
+ 55e8117b448f087e6d7f022d44d854a3ad9a85945161071e1f14477052b184ca tests/vln/test_joint_manifest.py
65
+ 14fed6b79c34bc579a295dc87e4cf0fe86a6793c67bb3e7a8b8779df979213e1 tests/vln/test_native_reference.py
66
+ 8b5ff08d993c2651cd92992cbe5f0857a1c2a79fd7840a596b3cd741fc4ab227 tests/vln/test_publication.py
67
+ ac8512e331784dd41990a9f03bca78fcb3acb2faad49bcc0c0e8289cd422b1cf tests/vln/test_recovery.py
68
+ bc02c88519a22cb3101097b535c6735fc7b9a3cafb2dfc5658bcc8747cb0f129 tests/vln/test_serializer.py
69
+ 3031966cde5eb220f5c0f9163d1b6acfb876a7728f08306145efce4110083561 tests/vln/test_session.py
70
+ d62d30e17d06228fa96b7429bac6d31c1142a7a915f31a68b150605f1ba759ba tests/vln/test_stream_core.py
71
+ 363f85f5cff9e060daa5f48664787fbd49afafda312a4a0226b0721b42b720bd tests/vln/test_submission.py
72
+ d42822baab48a696cc1644e0bddd06cdc123fb2aa98be04066f2c48c766caaf6 tests/vln/test_training.py
73
+ cf210c5aab7bf8058903427273d36de6bb9e2128f511710fc2a47e3f385d5b5f train/slurm/joint_b.slurm
74
+ 7cfc0613f36cf3668ddac192053dd6f1ae471a9cd84c78de6c83a5f4a89d619b train/slurm/preflight_b.slurm
75
+ e9b802862a218424f67e819c485504880c0b9e06a15baa65fdb907ad0776f178 train/slurm/run_b.sh
76
+ f586cc1cbb37bcbe5afdc9bd644764a7e689796993577b9f5ba8cc0f7c4fd558 train/slurm/run_joint_b.sh
77
+ f315aeec69b43a091a139709228a9f4d6e8d346d7b2d72845fe2e0944513e824 train/slurm/train_b.slurm
78
+ 16a3932e32eedc2b5c77eb16cb0cbbd14f3afc42a5f67d3730d72935d3540cf7 train/slurm/upload_b.slurm