Instructions to use CarolinePascal/flux_sample with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use CarolinePascal/flux_sample with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
Delete pretrained_model_ema
Browse files- pretrained_model_ema/README.md +0 -204
- pretrained_model_ema/adapter_config.json +0 -51
- pretrained_model_ema/adapter_model.safetensors +0 -3
- pretrained_model_ema/config.json +0 -142
- pretrained_model_ema/policy_postprocessor.json +0 -24
- pretrained_model_ema/policy_postprocessor_step_0_flux3_action_history_unnormalizer.safetensors +0 -3
- pretrained_model_ema/policy_preprocessor.json +0 -44
- pretrained_model_ema/policy_preprocessor_step_3_flux3_action_history_normalizer.safetensors +0 -3
- pretrained_model_ema/train_config.json +0 -356
pretrained_model_ema/README.md
DELETED
|
@@ -1,204 +0,0 @@
|
|
| 1 |
-
---
|
| 2 |
-
library_name: peft
|
| 3 |
-
tags:
|
| 4 |
-
- base_model:adapter:/fsx/caroline_pascal/models/so101
|
| 5 |
-
- lora
|
| 6 |
-
---
|
| 7 |
-
|
| 8 |
-
# Model Card for Model ID
|
| 9 |
-
|
| 10 |
-
<!-- Provide a quick summary of what the model is/does. -->
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
## Model Details
|
| 15 |
-
|
| 16 |
-
### Model Description
|
| 17 |
-
|
| 18 |
-
<!-- Provide a longer summary of what this model is. -->
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
- **Developed by:** [More Information Needed]
|
| 23 |
-
- **Funded by [optional]:** [More Information Needed]
|
| 24 |
-
- **Shared by [optional]:** [More Information Needed]
|
| 25 |
-
- **Model type:** [More Information Needed]
|
| 26 |
-
- **Language(s) (NLP):** [More Information Needed]
|
| 27 |
-
- **License:** [More Information Needed]
|
| 28 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 29 |
-
|
| 30 |
-
### Model Sources [optional]
|
| 31 |
-
|
| 32 |
-
<!-- Provide the basic links for the model. -->
|
| 33 |
-
|
| 34 |
-
- **Repository:** [More Information Needed]
|
| 35 |
-
- **Paper [optional]:** [More Information Needed]
|
| 36 |
-
- **Demo [optional]:** [More Information Needed]
|
| 37 |
-
|
| 38 |
-
## Uses
|
| 39 |
-
|
| 40 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 41 |
-
|
| 42 |
-
### Direct Use
|
| 43 |
-
|
| 44 |
-
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
| 45 |
-
|
| 46 |
-
[More Information Needed]
|
| 47 |
-
|
| 48 |
-
### Downstream Use [optional]
|
| 49 |
-
|
| 50 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
| 51 |
-
|
| 52 |
-
[More Information Needed]
|
| 53 |
-
|
| 54 |
-
### Out-of-Scope Use
|
| 55 |
-
|
| 56 |
-
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
| 57 |
-
|
| 58 |
-
[More Information Needed]
|
| 59 |
-
|
| 60 |
-
## Bias, Risks, and Limitations
|
| 61 |
-
|
| 62 |
-
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
| 63 |
-
|
| 64 |
-
[More Information Needed]
|
| 65 |
-
|
| 66 |
-
### Recommendations
|
| 67 |
-
|
| 68 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 69 |
-
|
| 70 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 71 |
-
|
| 72 |
-
## How to Get Started with the Model
|
| 73 |
-
|
| 74 |
-
Use the code below to get started with the model.
|
| 75 |
-
|
| 76 |
-
[More Information Needed]
|
| 77 |
-
|
| 78 |
-
## Training Details
|
| 79 |
-
|
| 80 |
-
### Training Data
|
| 81 |
-
|
| 82 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 83 |
-
|
| 84 |
-
[More Information Needed]
|
| 85 |
-
|
| 86 |
-
### Training Procedure
|
| 87 |
-
|
| 88 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 89 |
-
|
| 90 |
-
#### Preprocessing [optional]
|
| 91 |
-
|
| 92 |
-
[More Information Needed]
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
#### Training Hyperparameters
|
| 96 |
-
|
| 97 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 98 |
-
|
| 99 |
-
#### Speeds, Sizes, Times [optional]
|
| 100 |
-
|
| 101 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 102 |
-
|
| 103 |
-
[More Information Needed]
|
| 104 |
-
|
| 105 |
-
## Evaluation
|
| 106 |
-
|
| 107 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 108 |
-
|
| 109 |
-
### Testing Data, Factors & Metrics
|
| 110 |
-
|
| 111 |
-
#### Testing Data
|
| 112 |
-
|
| 113 |
-
<!-- This should link to a Dataset Card if possible. -->
|
| 114 |
-
|
| 115 |
-
[More Information Needed]
|
| 116 |
-
|
| 117 |
-
#### Factors
|
| 118 |
-
|
| 119 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 120 |
-
|
| 121 |
-
[More Information Needed]
|
| 122 |
-
|
| 123 |
-
#### Metrics
|
| 124 |
-
|
| 125 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 126 |
-
|
| 127 |
-
[More Information Needed]
|
| 128 |
-
|
| 129 |
-
### Results
|
| 130 |
-
|
| 131 |
-
[More Information Needed]
|
| 132 |
-
|
| 133 |
-
#### Summary
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
## Model Examination [optional]
|
| 138 |
-
|
| 139 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 140 |
-
|
| 141 |
-
[More Information Needed]
|
| 142 |
-
|
| 143 |
-
## Environmental Impact
|
| 144 |
-
|
| 145 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 146 |
-
|
| 147 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 148 |
-
|
| 149 |
-
- **Hardware Type:** [More Information Needed]
|
| 150 |
-
- **Hours used:** [More Information Needed]
|
| 151 |
-
- **Cloud Provider:** [More Information Needed]
|
| 152 |
-
- **Compute Region:** [More Information Needed]
|
| 153 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 154 |
-
|
| 155 |
-
## Technical Specifications [optional]
|
| 156 |
-
|
| 157 |
-
### Model Architecture and Objective
|
| 158 |
-
|
| 159 |
-
[More Information Needed]
|
| 160 |
-
|
| 161 |
-
### Compute Infrastructure
|
| 162 |
-
|
| 163 |
-
[More Information Needed]
|
| 164 |
-
|
| 165 |
-
#### Hardware
|
| 166 |
-
|
| 167 |
-
[More Information Needed]
|
| 168 |
-
|
| 169 |
-
#### Software
|
| 170 |
-
|
| 171 |
-
[More Information Needed]
|
| 172 |
-
|
| 173 |
-
## Citation [optional]
|
| 174 |
-
|
| 175 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 176 |
-
|
| 177 |
-
**BibTeX:**
|
| 178 |
-
|
| 179 |
-
[More Information Needed]
|
| 180 |
-
|
| 181 |
-
**APA:**
|
| 182 |
-
|
| 183 |
-
[More Information Needed]
|
| 184 |
-
|
| 185 |
-
## Glossary [optional]
|
| 186 |
-
|
| 187 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 188 |
-
|
| 189 |
-
[More Information Needed]
|
| 190 |
-
|
| 191 |
-
## More Information [optional]
|
| 192 |
-
|
| 193 |
-
[More Information Needed]
|
| 194 |
-
|
| 195 |
-
## Model Card Authors [optional]
|
| 196 |
-
|
| 197 |
-
[More Information Needed]
|
| 198 |
-
|
| 199 |
-
## Model Card Contact
|
| 200 |
-
|
| 201 |
-
[More Information Needed]
|
| 202 |
-
### Framework versions
|
| 203 |
-
|
| 204 |
-
- PEFT 0.21.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/adapter_config.json
DELETED
|
@@ -1,51 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"alora_invocation_tokens": null,
|
| 3 |
-
"alpha_pattern": {},
|
| 4 |
-
"arrow_config": null,
|
| 5 |
-
"auto_mapping": {
|
| 6 |
-
"base_model_class": "Flux3Policy",
|
| 7 |
-
"parent_library": "lerobot.policies.flux3.modeling_flux3"
|
| 8 |
-
},
|
| 9 |
-
"base_model_name_or_path": "/fsx/caroline_pascal/models/so101",
|
| 10 |
-
"bias": "none",
|
| 11 |
-
"corda_config": null,
|
| 12 |
-
"ensure_weight_tying": false,
|
| 13 |
-
"eva_config": null,
|
| 14 |
-
"exclude_modules": null,
|
| 15 |
-
"fan_in_fan_out": false,
|
| 16 |
-
"inference_mode": true,
|
| 17 |
-
"init_lora_weights": true,
|
| 18 |
-
"kasa_config": null,
|
| 19 |
-
"layer_replication": null,
|
| 20 |
-
"layers_pattern": null,
|
| 21 |
-
"layers_to_transform": null,
|
| 22 |
-
"loftq_config": {},
|
| 23 |
-
"lora_alpha": 32,
|
| 24 |
-
"lora_bias": false,
|
| 25 |
-
"lora_dropout": 0.0,
|
| 26 |
-
"lora_ga_config": null,
|
| 27 |
-
"megatron_config": null,
|
| 28 |
-
"megatron_core": "megatron.core",
|
| 29 |
-
"modules_to_save": [
|
| 30 |
-
"dit.emb_in.action",
|
| 31 |
-
"dit.emb_in.action_cond",
|
| 32 |
-
"dit.final_layer.action",
|
| 33 |
-
"dit.final_layer.action_cond"
|
| 34 |
-
],
|
| 35 |
-
"monteclora_config": null,
|
| 36 |
-
"peft_type": "LORA",
|
| 37 |
-
"peft_version": "0.21.0",
|
| 38 |
-
"qalora_group_size": 16,
|
| 39 |
-
"r": 32,
|
| 40 |
-
"rank_pattern": {},
|
| 41 |
-
"revision": null,
|
| 42 |
-
"target_modules": ".*\\.(q_proj|k_proj|v_proj|attn_out|mlp_in|mlp_out)",
|
| 43 |
-
"target_parameters": null,
|
| 44 |
-
"task_type": null,
|
| 45 |
-
"trainable_token_indices": null,
|
| 46 |
-
"use_bdlora": null,
|
| 47 |
-
"use_dora": false,
|
| 48 |
-
"use_qalora": false,
|
| 49 |
-
"use_rslora": false,
|
| 50 |
-
"velora_config": null
|
| 51 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/adapter_model.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:9851a2cd8a7a877eca2c123af18e25cba7a9a469b9333d566cc2d58c99bac559
|
| 3 |
-
size 471701520
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/config.json
DELETED
|
@@ -1,142 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"type": "flux3",
|
| 3 |
-
"n_obs_steps": 1,
|
| 4 |
-
"input_features": {
|
| 5 |
-
"observation.images.scene": {
|
| 6 |
-
"type": "VISUAL",
|
| 7 |
-
"shape": [
|
| 8 |
-
3,
|
| 9 |
-
256,
|
| 10 |
-
256
|
| 11 |
-
]
|
| 12 |
-
},
|
| 13 |
-
"observation.images.wrist": {
|
| 14 |
-
"type": "VISUAL",
|
| 15 |
-
"shape": [
|
| 16 |
-
3,
|
| 17 |
-
256,
|
| 18 |
-
256
|
| 19 |
-
]
|
| 20 |
-
},
|
| 21 |
-
"observation.state": {
|
| 22 |
-
"type": "STATE",
|
| 23 |
-
"shape": [
|
| 24 |
-
6
|
| 25 |
-
]
|
| 26 |
-
}
|
| 27 |
-
},
|
| 28 |
-
"output_features": {
|
| 29 |
-
"action": {
|
| 30 |
-
"type": "ACTION",
|
| 31 |
-
"shape": [
|
| 32 |
-
6
|
| 33 |
-
]
|
| 34 |
-
}
|
| 35 |
-
},
|
| 36 |
-
"device": "cuda",
|
| 37 |
-
"use_amp": false,
|
| 38 |
-
"use_peft": true,
|
| 39 |
-
"push_to_hub": false,
|
| 40 |
-
"repo_id": null,
|
| 41 |
-
"private": null,
|
| 42 |
-
"tags": null,
|
| 43 |
-
"license": null,
|
| 44 |
-
"pretrained_path": "/fsx/caroline_pascal/models/so101",
|
| 45 |
-
"pretrained_revision": null,
|
| 46 |
-
"conditioning": "history",
|
| 47 |
-
"packer": null,
|
| 48 |
-
"condition_on_past_actions": false,
|
| 49 |
-
"action_representation": "delta",
|
| 50 |
-
"delta_absolute_dims": [
|
| 51 |
-
-1
|
| 52 |
-
],
|
| 53 |
-
"text_fixed_length": 320,
|
| 54 |
-
"video_position_fps": 24.0,
|
| 55 |
-
"history_snapshots": 1,
|
| 56 |
-
"normalization_stats": null,
|
| 57 |
-
"normalization_clip": 6.0,
|
| 58 |
-
"separate_timesteps": true,
|
| 59 |
-
"video_logit_mean": 1.08,
|
| 60 |
-
"video_logit_std": 1.0,
|
| 61 |
-
"conditioning_noise_max": 0.2,
|
| 62 |
-
"loss_reduction": "modalities",
|
| 63 |
-
"action_channel_weights": [
|
| 64 |
-
1.0,
|
| 65 |
-
1.0,
|
| 66 |
-
1.0,
|
| 67 |
-
1.0,
|
| 68 |
-
1.0,
|
| 69 |
-
2.0
|
| 70 |
-
],
|
| 71 |
-
"gradient_checkpointing": true,
|
| 72 |
-
"chunk_size": 32,
|
| 73 |
-
"n_action_steps": 30,
|
| 74 |
-
"fps": 30.0,
|
| 75 |
-
"camera_layout": "side_by_side",
|
| 76 |
-
"camera_keys": [
|
| 77 |
-
"observation.images.scene",
|
| 78 |
-
"observation.images.wrist"
|
| 79 |
-
],
|
| 80 |
-
"canvas_hw": [
|
| 81 |
-
256,
|
| 82 |
-
512
|
| 83 |
-
],
|
| 84 |
-
"action_modality": "action",
|
| 85 |
-
"action_scale": 2.0,
|
| 86 |
-
"gripper_flip_dims": [],
|
| 87 |
-
"use_relative_actions": false,
|
| 88 |
-
"relative_exclude_joints": [
|
| 89 |
-
"gripper"
|
| 90 |
-
],
|
| 91 |
-
"action_feature_names": [
|
| 92 |
-
"shoulder_pan.pos",
|
| 93 |
-
"shoulder_lift.pos",
|
| 94 |
-
"elbow_flex.pos",
|
| 95 |
-
"wrist_flex.pos",
|
| 96 |
-
"wrist_roll.pos",
|
| 97 |
-
"gripper.pos"
|
| 98 |
-
],
|
| 99 |
-
"normalization_mapping": {
|
| 100 |
-
"VISUAL": "IDENTITY",
|
| 101 |
-
"STATE": "IDENTITY",
|
| 102 |
-
"ACTION": "IDENTITY"
|
| 103 |
-
},
|
| 104 |
-
"trunk_weights": null,
|
| 105 |
-
"video_vae_id": "/fsx/caroline_pascal/models/so101/components/video_vae.safetensors",
|
| 106 |
-
"text_encoder_id": "/fsx/caroline_pascal/models/so101/components/text_encoder",
|
| 107 |
-
"dit_config": null,
|
| 108 |
-
"content_streams": [
|
| 109 |
-
"video",
|
| 110 |
-
"video_cond"
|
| 111 |
-
],
|
| 112 |
-
"attn_mode": "torch",
|
| 113 |
-
"dtype": "bfloat16",
|
| 114 |
-
"compile_model": false,
|
| 115 |
-
"sampler": "cosmos_unipc",
|
| 116 |
-
"num_inference_steps": 4,
|
| 117 |
-
"guidance_scale": 3.0,
|
| 118 |
-
"guidance_scale_action": null,
|
| 119 |
-
"sampler_shift": 5.0,
|
| 120 |
-
"inference_seed": 0,
|
| 121 |
-
"head_init_seed": 0,
|
| 122 |
-
"train_timestep_width": 0.75,
|
| 123 |
-
"train_timestep_shift": 42.0,
|
| 124 |
-
"action_loss_weight": 0.5,
|
| 125 |
-
"video_loss_weight": 1.0,
|
| 126 |
-
"caption_dropout": 0.1,
|
| 127 |
-
"augment": false,
|
| 128 |
-
"optimizer_lr": 0.0001,
|
| 129 |
-
"optimizer_lr_heads_multiplier": 5.0,
|
| 130 |
-
"optimizer_betas": [
|
| 131 |
-
0.9,
|
| 132 |
-
0.999
|
| 133 |
-
],
|
| 134 |
-
"optimizer_eps": 1e-08,
|
| 135 |
-
"optimizer_weight_decay": 0.0,
|
| 136 |
-
"optimizer_grad_clip_norm": 1.0,
|
| 137 |
-
"scheduler_freeze_backbone_steps": 0,
|
| 138 |
-
"scheduler_warmup_steps": 0,
|
| 139 |
-
"scheduler_warmup_steps_heads": 0,
|
| 140 |
-
"scheduler_decay_steps": 0,
|
| 141 |
-
"scheduler_cooldown_steps": 0
|
| 142 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/policy_postprocessor.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "policy_postprocessor",
|
| 3 |
-
"steps": [
|
| 4 |
-
{
|
| 5 |
-
"registry_name": "flux3_action_history_unnormalizer",
|
| 6 |
-
"config": {
|
| 7 |
-
"action_dim": 6,
|
| 8 |
-
"action_representation": "delta",
|
| 9 |
-
"absolute_dims": [
|
| 10 |
-
-1
|
| 11 |
-
],
|
| 12 |
-
"normalization_clip": 6.0
|
| 13 |
-
},
|
| 14 |
-
"state_file": "policy_postprocessor_step_0_flux3_action_history_unnormalizer.safetensors"
|
| 15 |
-
},
|
| 16 |
-
{
|
| 17 |
-
"registry_name": "device_processor",
|
| 18 |
-
"config": {
|
| 19 |
-
"device": "cpu",
|
| 20 |
-
"float_dtype": null
|
| 21 |
-
}
|
| 22 |
-
}
|
| 23 |
-
]
|
| 24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/policy_postprocessor_step_0_flux3_action_history_unnormalizer.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:96a5f8de8c33db904ba2cfadeac7a4477f64bca1e0a5bba8da6f4ed576ff4331
|
| 3 |
-
size 184
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/policy_preprocessor.json
DELETED
|
@@ -1,44 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"name": "policy_preprocessor",
|
| 3 |
-
"steps": [
|
| 4 |
-
{
|
| 5 |
-
"registry_name": "rename_observations_processor",
|
| 6 |
-
"config": {
|
| 7 |
-
"rename_map": {
|
| 8 |
-
"observation.images.on_top": "observation.images.scene",
|
| 9 |
-
"observation.images.camera_on_follower": "observation.images.wrist"
|
| 10 |
-
}
|
| 11 |
-
}
|
| 12 |
-
},
|
| 13 |
-
{
|
| 14 |
-
"registry_name": "to_batch_processor",
|
| 15 |
-
"config": {}
|
| 16 |
-
},
|
| 17 |
-
{
|
| 18 |
-
"registry_name": "device_processor",
|
| 19 |
-
"config": {
|
| 20 |
-
"device": "cuda",
|
| 21 |
-
"float_dtype": null
|
| 22 |
-
}
|
| 23 |
-
},
|
| 24 |
-
{
|
| 25 |
-
"registry_name": "flux3_action_history_normalizer",
|
| 26 |
-
"config": {
|
| 27 |
-
"action_dim": 6,
|
| 28 |
-
"action_representation": "delta",
|
| 29 |
-
"absolute_dims": [
|
| 30 |
-
-1
|
| 31 |
-
],
|
| 32 |
-
"normalization_clip": 6.0,
|
| 33 |
-
"n_obs_steps": 1,
|
| 34 |
-
"chunk_size": 32,
|
| 35 |
-
"camera_keys": [
|
| 36 |
-
"observation.images.scene",
|
| 37 |
-
"observation.images.wrist"
|
| 38 |
-
],
|
| 39 |
-
"condition_on_past_actions": false
|
| 40 |
-
},
|
| 41 |
-
"state_file": "policy_preprocessor_step_3_flux3_action_history_normalizer.safetensors"
|
| 42 |
-
}
|
| 43 |
-
]
|
| 44 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/policy_preprocessor_step_3_flux3_action_history_normalizer.safetensors
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:fb0b16f0b7909cb2604c089e1fdda2caf34d7ea168574594a5f5cf673d326d97
|
| 3 |
-
size 360
|
|
|
|
|
|
|
|
|
|
|
|
pretrained_model_ema/train_config.json
DELETED
|
@@ -1,356 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"dataset": {
|
| 3 |
-
"repo_id": "cetiennec/yellow_on_purple_super",
|
| 4 |
-
"repo_type": "dataset",
|
| 5 |
-
"root": null,
|
| 6 |
-
"episodes": null,
|
| 7 |
-
"exclude_episodes": null,
|
| 8 |
-
"image_transforms": {
|
| 9 |
-
"enable": false,
|
| 10 |
-
"max_num_transforms": 3,
|
| 11 |
-
"random_order": false,
|
| 12 |
-
"tfs": {
|
| 13 |
-
"brightness": {
|
| 14 |
-
"weight": 1.0,
|
| 15 |
-
"type": "ColorJitter",
|
| 16 |
-
"kwargs": {
|
| 17 |
-
"brightness": [
|
| 18 |
-
0.8,
|
| 19 |
-
1.2
|
| 20 |
-
]
|
| 21 |
-
}
|
| 22 |
-
},
|
| 23 |
-
"contrast": {
|
| 24 |
-
"weight": 1.0,
|
| 25 |
-
"type": "ColorJitter",
|
| 26 |
-
"kwargs": {
|
| 27 |
-
"contrast": [
|
| 28 |
-
0.8,
|
| 29 |
-
1.2
|
| 30 |
-
]
|
| 31 |
-
}
|
| 32 |
-
},
|
| 33 |
-
"saturation": {
|
| 34 |
-
"weight": 1.0,
|
| 35 |
-
"type": "ColorJitter",
|
| 36 |
-
"kwargs": {
|
| 37 |
-
"saturation": [
|
| 38 |
-
0.5,
|
| 39 |
-
1.5
|
| 40 |
-
]
|
| 41 |
-
}
|
| 42 |
-
},
|
| 43 |
-
"hue": {
|
| 44 |
-
"weight": 1.0,
|
| 45 |
-
"type": "ColorJitter",
|
| 46 |
-
"kwargs": {
|
| 47 |
-
"hue": [
|
| 48 |
-
-0.05,
|
| 49 |
-
0.05
|
| 50 |
-
]
|
| 51 |
-
}
|
| 52 |
-
},
|
| 53 |
-
"sharpness": {
|
| 54 |
-
"weight": 1.0,
|
| 55 |
-
"type": "SharpnessJitter",
|
| 56 |
-
"kwargs": {
|
| 57 |
-
"sharpness": [
|
| 58 |
-
0.5,
|
| 59 |
-
1.5
|
| 60 |
-
]
|
| 61 |
-
}
|
| 62 |
-
},
|
| 63 |
-
"affine": {
|
| 64 |
-
"weight": 1.0,
|
| 65 |
-
"type": "RandomAffine",
|
| 66 |
-
"kwargs": {
|
| 67 |
-
"degrees": [
|
| 68 |
-
-5.0,
|
| 69 |
-
5.0
|
| 70 |
-
],
|
| 71 |
-
"translate": [
|
| 72 |
-
0.05,
|
| 73 |
-
0.05
|
| 74 |
-
]
|
| 75 |
-
}
|
| 76 |
-
}
|
| 77 |
-
}
|
| 78 |
-
},
|
| 79 |
-
"revision": null,
|
| 80 |
-
"use_imagenet_stats": true,
|
| 81 |
-
"video_backend": "torchcodec",
|
| 82 |
-
"return_uint8": false,
|
| 83 |
-
"depth_output_unit": "mm",
|
| 84 |
-
"streaming": false,
|
| 85 |
-
"eval_split": 0.2
|
| 86 |
-
},
|
| 87 |
-
"env": null,
|
| 88 |
-
"policy": {
|
| 89 |
-
"type": "flux3",
|
| 90 |
-
"n_obs_steps": 1,
|
| 91 |
-
"input_features": {
|
| 92 |
-
"observation.images.scene": {
|
| 93 |
-
"type": "VISUAL",
|
| 94 |
-
"shape": [
|
| 95 |
-
3,
|
| 96 |
-
256,
|
| 97 |
-
256
|
| 98 |
-
]
|
| 99 |
-
},
|
| 100 |
-
"observation.images.wrist": {
|
| 101 |
-
"type": "VISUAL",
|
| 102 |
-
"shape": [
|
| 103 |
-
3,
|
| 104 |
-
256,
|
| 105 |
-
256
|
| 106 |
-
]
|
| 107 |
-
},
|
| 108 |
-
"observation.state": {
|
| 109 |
-
"type": "STATE",
|
| 110 |
-
"shape": [
|
| 111 |
-
6
|
| 112 |
-
]
|
| 113 |
-
}
|
| 114 |
-
},
|
| 115 |
-
"output_features": {
|
| 116 |
-
"action": {
|
| 117 |
-
"type": "ACTION",
|
| 118 |
-
"shape": [
|
| 119 |
-
6
|
| 120 |
-
]
|
| 121 |
-
}
|
| 122 |
-
},
|
| 123 |
-
"device": "cuda",
|
| 124 |
-
"use_amp": false,
|
| 125 |
-
"use_peft": true,
|
| 126 |
-
"push_to_hub": false,
|
| 127 |
-
"repo_id": null,
|
| 128 |
-
"private": null,
|
| 129 |
-
"tags": null,
|
| 130 |
-
"license": null,
|
| 131 |
-
"pretrained_path": "/fsx/caroline_pascal/models/so101",
|
| 132 |
-
"pretrained_revision": null,
|
| 133 |
-
"conditioning": "history",
|
| 134 |
-
"packer": null,
|
| 135 |
-
"condition_on_past_actions": false,
|
| 136 |
-
"action_representation": "delta",
|
| 137 |
-
"delta_absolute_dims": [
|
| 138 |
-
-1
|
| 139 |
-
],
|
| 140 |
-
"text_fixed_length": 320,
|
| 141 |
-
"video_position_fps": 24.0,
|
| 142 |
-
"history_snapshots": 1,
|
| 143 |
-
"normalization_stats": null,
|
| 144 |
-
"normalization_clip": 6.0,
|
| 145 |
-
"separate_timesteps": true,
|
| 146 |
-
"video_logit_mean": 1.08,
|
| 147 |
-
"video_logit_std": 1.0,
|
| 148 |
-
"conditioning_noise_max": 0.2,
|
| 149 |
-
"loss_reduction": "modalities",
|
| 150 |
-
"action_channel_weights": [
|
| 151 |
-
1.0,
|
| 152 |
-
1.0,
|
| 153 |
-
1.0,
|
| 154 |
-
1.0,
|
| 155 |
-
1.0,
|
| 156 |
-
2.0
|
| 157 |
-
],
|
| 158 |
-
"gradient_checkpointing": true,
|
| 159 |
-
"chunk_size": 32,
|
| 160 |
-
"n_action_steps": 30,
|
| 161 |
-
"fps": 30.0,
|
| 162 |
-
"camera_layout": "side_by_side",
|
| 163 |
-
"camera_keys": [
|
| 164 |
-
"observation.images.scene",
|
| 165 |
-
"observation.images.wrist"
|
| 166 |
-
],
|
| 167 |
-
"canvas_hw": [
|
| 168 |
-
256,
|
| 169 |
-
512
|
| 170 |
-
],
|
| 171 |
-
"action_modality": "action",
|
| 172 |
-
"action_scale": 2.0,
|
| 173 |
-
"gripper_flip_dims": [],
|
| 174 |
-
"use_relative_actions": false,
|
| 175 |
-
"relative_exclude_joints": [
|
| 176 |
-
"gripper"
|
| 177 |
-
],
|
| 178 |
-
"action_feature_names": [
|
| 179 |
-
"shoulder_pan.pos",
|
| 180 |
-
"shoulder_lift.pos",
|
| 181 |
-
"elbow_flex.pos",
|
| 182 |
-
"wrist_flex.pos",
|
| 183 |
-
"wrist_roll.pos",
|
| 184 |
-
"gripper.pos"
|
| 185 |
-
],
|
| 186 |
-
"normalization_mapping": {
|
| 187 |
-
"VISUAL": "IDENTITY",
|
| 188 |
-
"STATE": "IDENTITY",
|
| 189 |
-
"ACTION": "IDENTITY"
|
| 190 |
-
},
|
| 191 |
-
"trunk_weights": null,
|
| 192 |
-
"video_vae_id": "/fsx/caroline_pascal/models/so101/components/video_vae.safetensors",
|
| 193 |
-
"text_encoder_id": "/fsx/caroline_pascal/models/so101/components/text_encoder",
|
| 194 |
-
"dit_config": null,
|
| 195 |
-
"content_streams": [
|
| 196 |
-
"video",
|
| 197 |
-
"video_cond"
|
| 198 |
-
],
|
| 199 |
-
"attn_mode": "torch",
|
| 200 |
-
"dtype": "bfloat16",
|
| 201 |
-
"compile_model": false,
|
| 202 |
-
"sampler": "cosmos_unipc",
|
| 203 |
-
"num_inference_steps": 4,
|
| 204 |
-
"guidance_scale": 3.0,
|
| 205 |
-
"guidance_scale_action": null,
|
| 206 |
-
"sampler_shift": 5.0,
|
| 207 |
-
"inference_seed": 0,
|
| 208 |
-
"head_init_seed": 0,
|
| 209 |
-
"train_timestep_width": 0.75,
|
| 210 |
-
"train_timestep_shift": 42.0,
|
| 211 |
-
"action_loss_weight": 0.5,
|
| 212 |
-
"video_loss_weight": 1.0,
|
| 213 |
-
"caption_dropout": 0.1,
|
| 214 |
-
"augment": false,
|
| 215 |
-
"optimizer_lr": 0.0001,
|
| 216 |
-
"optimizer_lr_heads_multiplier": 5.0,
|
| 217 |
-
"optimizer_betas": [
|
| 218 |
-
0.9,
|
| 219 |
-
0.999
|
| 220 |
-
],
|
| 221 |
-
"optimizer_eps": 1e-08,
|
| 222 |
-
"optimizer_weight_decay": 0.0,
|
| 223 |
-
"optimizer_grad_clip_norm": 1.0,
|
| 224 |
-
"scheduler_freeze_backbone_steps": 0,
|
| 225 |
-
"scheduler_warmup_steps": 0,
|
| 226 |
-
"scheduler_warmup_steps_heads": 0,
|
| 227 |
-
"scheduler_decay_steps": 0,
|
| 228 |
-
"scheduler_cooldown_steps": 0
|
| 229 |
-
},
|
| 230 |
-
"reward_model": null,
|
| 231 |
-
"output_dir": "/fsx/caroline_pascal/outputs/yellow_on_purple_lora_4gpu",
|
| 232 |
-
"job_name": "flux3",
|
| 233 |
-
"resume": false,
|
| 234 |
-
"seed": 42,
|
| 235 |
-
"cudnn_deterministic": false,
|
| 236 |
-
"num_workers": 8,
|
| 237 |
-
"batch_size": 2,
|
| 238 |
-
"prefetch_factor": 4,
|
| 239 |
-
"persistent_workers": true,
|
| 240 |
-
"dataloader_multiprocessing_context": "spawn",
|
| 241 |
-
"steps": 10000,
|
| 242 |
-
"env_eval_freq": 0,
|
| 243 |
-
"log_freq": 20,
|
| 244 |
-
"eval_steps": 500,
|
| 245 |
-
"max_eval_samples": 0,
|
| 246 |
-
"tolerance_s": 0.0001,
|
| 247 |
-
"save_checkpoint": true,
|
| 248 |
-
"save_freq": 500,
|
| 249 |
-
"checkpoint_format": "safetensors",
|
| 250 |
-
"use_policy_training_preset": true,
|
| 251 |
-
"optimizer": {
|
| 252 |
-
"type": "adamw",
|
| 253 |
-
"lr": 0.0001,
|
| 254 |
-
"weight_decay": 0.0,
|
| 255 |
-
"grad_clip_norm": 1.0,
|
| 256 |
-
"betas": [
|
| 257 |
-
0.9,
|
| 258 |
-
0.999
|
| 259 |
-
],
|
| 260 |
-
"eps": 1e-08
|
| 261 |
-
},
|
| 262 |
-
"scheduler": {
|
| 263 |
-
"type": "frozen_warmup_constant",
|
| 264 |
-
"num_warmup_steps": 0,
|
| 265 |
-
"freeze_steps": 0,
|
| 266 |
-
"warmup_steps_heads": 0,
|
| 267 |
-
"decay_steps": 0,
|
| 268 |
-
"cooldown_steps": 0
|
| 269 |
-
},
|
| 270 |
-
"parallelism": {
|
| 271 |
-
"dp_replicate": 4,
|
| 272 |
-
"dp_shard": 1,
|
| 273 |
-
"context_parallel": {
|
| 274 |
-
"ring_degree": 1,
|
| 275 |
-
"ulysses_degree": 1
|
| 276 |
-
},
|
| 277 |
-
"cfg_parallel": 1
|
| 278 |
-
},
|
| 279 |
-
"accelerator": {
|
| 280 |
-
"mixed_precision": "bf16",
|
| 281 |
-
"gradient_accumulation": {
|
| 282 |
-
"steps": 1
|
| 283 |
-
},
|
| 284 |
-
"fsdp": {
|
| 285 |
-
"reshard_after_forward": true,
|
| 286 |
-
"wrap_modules": null,
|
| 287 |
-
"min_num_params": null,
|
| 288 |
-
"cpu_offload": false,
|
| 289 |
-
"ignored_modules": null
|
| 290 |
-
},
|
| 291 |
-
"ddp": {
|
| 292 |
-
"find_unused_parameters": true,
|
| 293 |
-
"gradient_as_bucket_view": false,
|
| 294 |
-
"static_graph": false
|
| 295 |
-
},
|
| 296 |
-
"compile": {
|
| 297 |
-
"enabled": false,
|
| 298 |
-
"backend": "inductor",
|
| 299 |
-
"mode": null,
|
| 300 |
-
"regional": true
|
| 301 |
-
},
|
| 302 |
-
"activation_checkpointing": {
|
| 303 |
-
"mode": "none"
|
| 304 |
-
}
|
| 305 |
-
},
|
| 306 |
-
"eval": {
|
| 307 |
-
"n_episodes": 50,
|
| 308 |
-
"batch_size": 50,
|
| 309 |
-
"use_async_envs": true,
|
| 310 |
-
"recording": false,
|
| 311 |
-
"recording_repo_id": null,
|
| 312 |
-
"recording_private": false
|
| 313 |
-
},
|
| 314 |
-
"ema": {
|
| 315 |
-
"enable": true,
|
| 316 |
-
"decay": 0.999,
|
| 317 |
-
"update_after_step": 0,
|
| 318 |
-
"inv_gamma": 1.0,
|
| 319 |
-
"power": 0.75,
|
| 320 |
-
"min_decay": 0.0,
|
| 321 |
-
"max_decay": 0.9999,
|
| 322 |
-
"use_for_eval": true
|
| 323 |
-
},
|
| 324 |
-
"wandb": {
|
| 325 |
-
"enable": true,
|
| 326 |
-
"disable_artifact": false,
|
| 327 |
-
"project": "flux3-so101",
|
| 328 |
-
"entity": null,
|
| 329 |
-
"notes": null,
|
| 330 |
-
"run_id": "yrahmxpq",
|
| 331 |
-
"mode": null,
|
| 332 |
-
"add_tags": true
|
| 333 |
-
},
|
| 334 |
-
"peft": {
|
| 335 |
-
"target_modules": null,
|
| 336 |
-
"full_training_modules": null,
|
| 337 |
-
"method_type": "LORA",
|
| 338 |
-
"init_type": null,
|
| 339 |
-
"r": 32,
|
| 340 |
-
"lora_alpha": 32
|
| 341 |
-
},
|
| 342 |
-
"job": {
|
| 343 |
-
"target": null,
|
| 344 |
-
"image": "huggingface/lerobot-gpu:latest",
|
| 345 |
-
"timeout": "2d",
|
| 346 |
-
"detach": false,
|
| 347 |
-
"tags": []
|
| 348 |
-
},
|
| 349 |
-
"save_checkpoint_to_hub": false,
|
| 350 |
-
"sample_weighting": null,
|
| 351 |
-
"rename_map": {
|
| 352 |
-
"observation.images.on_top": "observation.images.scene",
|
| 353 |
-
"observation.images.camera_on_follower": "observation.images.wrist"
|
| 354 |
-
},
|
| 355 |
-
"checkpoint_path": null
|
| 356 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|