Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
TS-MODELS-OPT
training
Autonomous-Driving-models
Commits
5ed76316
Commit
5ed76316
authored
Apr 08, 2026
by
雍大凯
Browse files
models add
parent
b2379236
Changes
290
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
449 additions
and
0 deletions
+449
-0
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_freeze.py
...r-hub/qwen2.5-vl/llama-factory/tests/model/test_freeze.py
+72
-0
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_full.py
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_full.py
+57
-0
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_lora.py
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_lora.py
+109
-0
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_pissa.py
...er-hub/qwen2.5-vl/llama-factory/tests/model/test_pissa.py
+64
-0
docker-hub/qwen2.5-vl/llama-factory/tests/train/test_sft_trainer.py
.../qwen2.5-vl/llama-factory/tests/train/test_sft_trainer.py
+89
-0
docker-hub/qwen2.5-vl/llama-factory/tests/version.txt
docker-hub/qwen2.5-vl/llama-factory/tests/version.txt
+2
-0
docker-hub/qwen2.5-vl/readme.md
docker-hub/qwen2.5-vl/readme.md
+27
-0
docker-hub/wan2.1/.DS_Store
docker-hub/wan2.1/.DS_Store
+0
-0
docker-hub/wan2.1/musubi-tuner
docker-hub/wan2.1/musubi-tuner
+1
-0
docker-hub/wan2.1/readme.md
docker-hub/wan2.1/readme.md
+28
-0
No files found.
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_freeze.py
0 → 100644
View file @
5ed76316
# Copyright 2025 the LlamaFactory team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
import
torch
from
llamafactory.train.test_utils
import
load_infer_model
,
load_train_model
TINY_LLAMA3
=
os
.
getenv
(
"TINY_LLAMA3"
,
"llamafactory/tiny-random-Llama-3"
)
TRAIN_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"stage"
:
"sft"
,
"do_train"
:
True
,
"finetuning_type"
:
"freeze"
,
"dataset"
:
"llamafactory/tiny-supervised-dataset"
,
"dataset_dir"
:
"ONLINE"
,
"template"
:
"llama3"
,
"cutoff_len"
:
1024
,
"output_dir"
:
"dummy_dir"
,
"overwrite_output_dir"
:
True
,
"fp16"
:
True
,
}
INFER_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"finetuning_type"
:
"freeze"
,
"template"
:
"llama3"
,
"infer_dtype"
:
"float16"
,
}
def
test_freeze_train_all_modules
():
model
=
load_train_model
(
freeze_trainable_layers
=
1
,
**
TRAIN_ARGS
)
for
name
,
param
in
model
.
named_parameters
():
if
name
.
startswith
(
"model.layers.1."
):
assert
param
.
requires_grad
is
True
assert
param
.
dtype
==
torch
.
float32
else
:
assert
param
.
requires_grad
is
False
assert
param
.
dtype
==
torch
.
float16
def
test_freeze_train_extra_modules
():
model
=
load_train_model
(
freeze_trainable_layers
=
1
,
freeze_extra_modules
=
"embed_tokens,lm_head"
,
**
TRAIN_ARGS
)
for
name
,
param
in
model
.
named_parameters
():
if
name
.
startswith
(
"model.layers.1."
)
or
any
(
module
in
name
for
module
in
[
"embed_tokens"
,
"lm_head"
]):
assert
param
.
requires_grad
is
True
assert
param
.
dtype
==
torch
.
float32
else
:
assert
param
.
requires_grad
is
False
assert
param
.
dtype
==
torch
.
float16
def
test_freeze_inference
():
model
=
load_infer_model
(
**
INFER_ARGS
)
for
param
in
model
.
parameters
():
assert
param
.
requires_grad
is
False
assert
param
.
dtype
==
torch
.
float16
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_full.py
0 → 100644
View file @
5ed76316
# Copyright 2025 the LlamaFactory team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
import
torch
from
llamafactory.train.test_utils
import
load_infer_model
,
load_train_model
TINY_LLAMA3
=
os
.
getenv
(
"TINY_LLAMA3"
,
"llamafactory/tiny-random-Llama-3"
)
TRAIN_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"stage"
:
"sft"
,
"do_train"
:
True
,
"finetuning_type"
:
"full"
,
"dataset"
:
"llamafactory/tiny-supervised-dataset"
,
"dataset_dir"
:
"ONLINE"
,
"template"
:
"llama3"
,
"cutoff_len"
:
1024
,
"output_dir"
:
"dummy_dir"
,
"overwrite_output_dir"
:
True
,
"fp16"
:
True
,
}
INFER_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"finetuning_type"
:
"full"
,
"template"
:
"llama3"
,
"infer_dtype"
:
"float16"
,
}
def
test_full_train
():
model
=
load_train_model
(
**
TRAIN_ARGS
)
for
param
in
model
.
parameters
():
assert
param
.
requires_grad
is
True
assert
param
.
dtype
==
torch
.
float32
def
test_full_inference
():
model
=
load_infer_model
(
**
INFER_ARGS
)
for
param
in
model
.
parameters
():
assert
param
.
requires_grad
is
False
assert
param
.
dtype
==
torch
.
float16
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_lora.py
0 → 100644
View file @
5ed76316
# Copyright 2025 the LlamaFactory team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
import
pytest
import
torch
from
llamafactory.train.test_utils
import
(
check_lora_model
,
compare_model
,
load_infer_model
,
load_reference_model
,
load_train_model
,
patch_valuehead_model
,
)
TINY_LLAMA3
=
os
.
getenv
(
"TINY_LLAMA3"
,
"llamafactory/tiny-random-Llama-3"
)
TINY_LLAMA_ADAPTER
=
os
.
getenv
(
"TINY_LLAMA_ADAPTER"
,
"llamafactory/tiny-random-Llama-3-lora"
)
TINY_LLAMA_VALUEHEAD
=
os
.
getenv
(
"TINY_LLAMA_VALUEHEAD"
,
"llamafactory/tiny-random-Llama-3-valuehead"
)
TRAIN_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"stage"
:
"sft"
,
"do_train"
:
True
,
"finetuning_type"
:
"lora"
,
"dataset"
:
"llamafactory/tiny-supervised-dataset"
,
"dataset_dir"
:
"ONLINE"
,
"template"
:
"llama3"
,
"cutoff_len"
:
1024
,
"output_dir"
:
"dummy_dir"
,
"overwrite_output_dir"
:
True
,
"fp16"
:
True
,
}
INFER_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"adapter_name_or_path"
:
TINY_LLAMA_ADAPTER
,
"finetuning_type"
:
"lora"
,
"template"
:
"llama3"
,
"infer_dtype"
:
"float16"
,
}
@
pytest
.
fixture
def
fix_valuehead_cpu_loading
():
patch_valuehead_model
()
def
test_lora_train_qv_modules
():
model
=
load_train_model
(
lora_target
=
"q_proj,v_proj"
,
**
TRAIN_ARGS
)
linear_modules
,
_
=
check_lora_model
(
model
)
assert
linear_modules
==
{
"q_proj"
,
"v_proj"
}
def
test_lora_train_all_modules
():
model
=
load_train_model
(
lora_target
=
"all"
,
**
TRAIN_ARGS
)
linear_modules
,
_
=
check_lora_model
(
model
)
assert
linear_modules
==
{
"q_proj"
,
"k_proj"
,
"v_proj"
,
"o_proj"
,
"up_proj"
,
"gate_proj"
,
"down_proj"
}
def
test_lora_train_extra_modules
():
model
=
load_train_model
(
additional_target
=
"embed_tokens,lm_head"
,
**
TRAIN_ARGS
)
_
,
extra_modules
=
check_lora_model
(
model
)
assert
extra_modules
==
{
"embed_tokens"
,
"lm_head"
}
def
test_lora_train_old_adapters
():
model
=
load_train_model
(
adapter_name_or_path
=
TINY_LLAMA_ADAPTER
,
create_new_adapter
=
False
,
**
TRAIN_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA3
,
TINY_LLAMA_ADAPTER
,
use_lora
=
True
,
is_trainable
=
True
)
compare_model
(
model
,
ref_model
)
def
test_lora_train_new_adapters
():
model
=
load_train_model
(
adapter_name_or_path
=
TINY_LLAMA_ADAPTER
,
create_new_adapter
=
True
,
**
TRAIN_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA3
,
TINY_LLAMA_ADAPTER
,
use_lora
=
True
,
is_trainable
=
True
)
compare_model
(
model
,
ref_model
,
diff_keys
=
[
"q_proj"
,
"k_proj"
,
"v_proj"
,
"o_proj"
,
"up_proj"
,
"gate_proj"
,
"down_proj"
]
)
@
pytest
.
mark
.
usefixtures
(
"fix_valuehead_cpu_loading"
)
def
test_lora_train_valuehead
():
model
=
load_train_model
(
add_valuehead
=
True
,
**
TRAIN_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA_VALUEHEAD
,
is_trainable
=
True
,
add_valuehead
=
True
)
state_dict
=
model
.
state_dict
()
ref_state_dict
=
ref_model
.
state_dict
()
assert
torch
.
allclose
(
state_dict
[
"v_head.summary.weight"
],
ref_state_dict
[
"v_head.summary.weight"
])
assert
torch
.
allclose
(
state_dict
[
"v_head.summary.bias"
],
ref_state_dict
[
"v_head.summary.bias"
])
def
test_lora_inference
():
model
=
load_infer_model
(
**
INFER_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA3
,
TINY_LLAMA_ADAPTER
,
use_lora
=
True
).
merge_and_unload
()
compare_model
(
model
,
ref_model
)
docker-hub/qwen2.5-vl/llama-factory/tests/model/test_pissa.py
0 → 100644
View file @
5ed76316
# Copyright 2025 the LlamaFactory team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
import
pytest
from
llamafactory.train.test_utils
import
compare_model
,
load_infer_model
,
load_reference_model
,
load_train_model
TINY_LLAMA3
=
os
.
getenv
(
"TINY_LLAMA3"
,
"llamafactory/tiny-random-Llama-3"
)
TINY_LLAMA_PISSA
=
os
.
getenv
(
"TINY_LLAMA_ADAPTER"
,
"llamafactory/tiny-random-Llama-3-pissa"
)
TRAIN_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"stage"
:
"sft"
,
"do_train"
:
True
,
"finetuning_type"
:
"lora"
,
"pissa_init"
:
True
,
"pissa_iter"
:
-
1
,
"dataset"
:
"llamafactory/tiny-supervised-dataset"
,
"dataset_dir"
:
"ONLINE"
,
"template"
:
"llama3"
,
"cutoff_len"
:
1024
,
"output_dir"
:
"dummy_dir"
,
"overwrite_output_dir"
:
True
,
"fp16"
:
True
,
}
INFER_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA_PISSA
,
"adapter_name_or_path"
:
TINY_LLAMA_PISSA
,
"adapter_folder"
:
"pissa_init"
,
"finetuning_type"
:
"lora"
,
"template"
:
"llama3"
,
"infer_dtype"
:
"float16"
,
}
@
pytest
.
mark
.
xfail
(
reason
=
"PiSSA initialization is not stable in different platform."
)
def
test_pissa_train
():
model
=
load_train_model
(
**
TRAIN_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA_PISSA
,
TINY_LLAMA_PISSA
,
use_pissa
=
True
,
is_trainable
=
True
)
compare_model
(
model
,
ref_model
)
@
pytest
.
mark
.
xfail
(
reason
=
"Known connection error."
)
def
test_pissa_inference
():
model
=
load_infer_model
(
**
INFER_ARGS
)
ref_model
=
load_reference_model
(
TINY_LLAMA_PISSA
,
TINY_LLAMA_PISSA
,
use_pissa
=
True
,
is_trainable
=
False
)
ref_model
=
ref_model
.
merge_and_unload
()
compare_model
(
model
,
ref_model
)
docker-hub/qwen2.5-vl/llama-factory/tests/train/test_sft_trainer.py
0 → 100644
View file @
5ed76316
# Copyright 2025 the LlamaFactory team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
os
from
dataclasses
import
dataclass
,
field
from
typing
import
Any
import
pytest
from
transformers
import
DataCollatorWithPadding
from
llamafactory.data
import
get_dataset
,
get_template_and_fix_tokenizer
from
llamafactory.hparams
import
get_train_args
from
llamafactory.model
import
load_model
,
load_tokenizer
from
llamafactory.train.sft.trainer
import
CustomSeq2SeqTrainer
DEMO_DATA
=
os
.
getenv
(
"DEMO_DATA"
,
"llamafactory/demo_data"
)
TINY_LLAMA3
=
os
.
getenv
(
"TINY_LLAMA3"
,
"llamafactory/tiny-random-Llama-3"
)
TRAIN_ARGS
=
{
"model_name_or_path"
:
TINY_LLAMA3
,
"stage"
:
"sft"
,
"do_train"
:
True
,
"finetuning_type"
:
"lora"
,
"dataset"
:
"llamafactory/tiny-supervised-dataset"
,
"dataset_dir"
:
"ONLINE"
,
"template"
:
"llama3"
,
"cutoff_len"
:
1024
,
"overwrite_output_dir"
:
True
,
"per_device_train_batch_size"
:
1
,
"max_steps"
:
1
,
"report_to"
:
"none"
,
}
@
dataclass
class
DataCollatorWithVerbose
(
DataCollatorWithPadding
):
verbose_list
:
list
[
dict
[
str
,
Any
]]
=
field
(
default_factory
=
list
)
def
__call__
(
self
,
features
:
list
[
dict
[
str
,
Any
]])
->
dict
[
str
,
Any
]:
features
=
[
{
k
:
v
for
k
,
v
in
feature
.
items
()
if
k
in
[
"input_ids"
,
"attention_mask"
,
"labels"
]}
for
feature
in
features
]
self
.
verbose_list
.
extend
(
features
)
batch
=
super
().
__call__
(
features
)
return
{
k
:
v
[:,
:
1
]
for
k
,
v
in
batch
.
items
()}
# truncate input length
@
pytest
.
mark
.
parametrize
(
"disable_shuffling"
,
[
False
,
True
])
def
test_shuffle
(
disable_shuffling
:
bool
):
model_args
,
data_args
,
training_args
,
finetuning_args
,
_
=
get_train_args
(
{
"output_dir"
:
os
.
path
.
join
(
"output"
,
f
"shuffle
{
str
(
disable_shuffling
).
lower
()
}
"
),
"disable_shuffling"
:
disable_shuffling
,
**
TRAIN_ARGS
,
}
)
tokenizer_module
=
load_tokenizer
(
model_args
)
tokenizer
=
tokenizer_module
[
"tokenizer"
]
template
=
get_template_and_fix_tokenizer
(
tokenizer
,
data_args
)
dataset_module
=
get_dataset
(
template
,
model_args
,
data_args
,
training_args
,
stage
=
"sft"
,
**
tokenizer_module
)
model
=
load_model
(
tokenizer
,
model_args
,
finetuning_args
,
training_args
.
do_train
)
data_collator
=
DataCollatorWithVerbose
(
tokenizer
=
tokenizer
)
trainer
=
CustomSeq2SeqTrainer
(
model
=
model
,
args
=
training_args
,
finetuning_args
=
finetuning_args
,
data_collator
=
data_collator
,
**
dataset_module
,
**
tokenizer_module
,
)
trainer
.
train
()
if
disable_shuffling
:
assert
data_collator
.
verbose_list
[
0
][
"input_ids"
]
==
dataset_module
[
"train_dataset"
][
0
][
"input_ids"
]
else
:
assert
data_collator
.
verbose_list
[
0
][
"input_ids"
]
!=
dataset_module
[
"train_dataset"
][
0
][
"input_ids"
]
docker-hub/qwen2.5-vl/llama-factory/tests/version.txt
0 → 100644
View file @
5ed76316
# change if test fails or cache is outdated
0.9.4.100
docker-hub/qwen2.5-vl/readme.md
0 → 100644
View file @
5ed76316
# qwen2.5-vl
## 环境搭建
```
docker run -dit --network=host --name=qwen25_vl --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=128G --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal:/opt/hyhal:ro -v /public/opendas/DL_DATA/llm-models/:/models:ro harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10
git clone -b core_v0.12.0 --recurse-submodules http://10.16.6.30/dcutoolkit/deeplearing/dcu_megatron.git
cd dcu_megatron-core_v0.12.0/
python setup.py install
cd ../llama-factory
pip install -r requirements.txt
```
## 执行qwen2.5-vl 7b
```
#修改model_name_or_path 为自己的模型路径
vi examples/train_full/qwen2_5vl_full_sft.yaml
#执行模型
bash start_qwen2.5vl.sh
```
docker-hub/wan2.1/.DS_Store
0 → 100644
View file @
5ed76316
File added
musubi-tuner
@
98df2ad9
Subproject commit 98df2ad9a4a0ad8cd782d841d84a498e753ab9cf
docker-hub/wan2.1/readme.md
0 → 100644
View file @
5ed76316
# wan2.1训练
## 环境搭建
```
cd musubi-tuner
pip install -e .
```
## 数据集下载
```
# 模型可以自行下载开源的
https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/diffusion_models/wan2.1_i2v_480p_14B_bf16.safetensors
https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P
# 数据集下载
链接:https://pan.baidu.com/s/1ehgk0vetX8dj5OEuORZ_jg?pwd=2dsh
提取码:2dsh
```
## 执行训练
```
# 自行修改启动脚本内模型及数据集路径
bash start_wan2.1_14b.sh
```
Prev
1
…
11
12
13
14
15
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment