THUDM / ChatGLM2-6B

ChatGLM2-6B: An Open Bilingual Chat LLM | 开源双语对话语言模型
Other
15.71k stars 1.85k forks source link

[BUG/Help] bash train.sh AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt' #178

Closed codeleep closed 1 year ago

codeleep commented 1 year ago

Is there an existing issue for this?

Current Behavior

运行bash train.sh 出现AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt'。我更新了模型的数据。也尝试降低transformers版本。但是依然失败

Expected Behavior

No response

Steps To Reproduce

运行bash train.sh

Environment

- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

Anything else?

No response

songmzhang commented 1 year ago

更新huggingface仓库里面新版的tokenization_chatglm.py就好了

codeleep commented 1 year ago

更新huggingface仓库里面新版的tokenization_chatglm.py就好了

好的感谢

ChiefPornExaminer commented 10 months ago

不行啊 哥哥们,我用的是最新的文件,还是报下面的错

$ sh train.sh 12/24/2023 10:56:14 - WARNING - main - Process rank: -1, device: cuda:0, n_gpu: 1distributed training: False, 16-bits training: False 12/24/2023 10:56:14 - INFO - main - Training/evaluation parameters Seq2SeqTrainingArguments( _n_gpu=1, adafactor=False, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, auto_find_batch_size=False, bf16=False, bf16_full_eval=False, data_seed=None, dataloader_drop_last=False, dataloader_num_workers=0, dataloader_pin_memory=True, ddp_bucket_cap_mb=None, ddp_find_unused_parameters=None, ddp_timeout=1800, debug=[], deepspeed=None, disable_tqdm=False, do_eval=False, do_predict=False, do_train=True, eval_accumulation_steps=None, eval_delay=0, eval_steps=None, evaluation_strategy=no, fp16=False, fp16_backend=auto, fp16_full_eval=False, fp16_opt_level=O1, fsdp=[], fsdp_config={'fsdp_min_num_params': 0, 'xla': False, 'xla_fsdp_grad_ckpt': False}, fsdp_min_num_params=0, fsdp_transformer_layer_cls_to_wrap=None, full_determinism=False, generation_max_length=None, generation_num_beams=None, gradient_accumulation_steps=16, gradient_checkpointing=False, greater_is_better=None, group_by_length=False, half_precision_backend=auto, hub_model_id=None, hub_private_repo=False, hub_strategy=every_save, hub_token=, ignore_data_skip=False, include_inputs_for_metrics=False, jit_mode_eval=False, label_names=None, label_smoothing_factor=0.0, learning_rate=0.02, length_column_name=length, load_best_model_at_end=False, local_rank=-1, log_level=passive, log_level_replica=warning, log_on_each_node=True, logging_dir=output/adgen-chatglm2-6b-pt-128-2e-2\runs\Dec24_10-56-14_ATW-W3967, logging_first_step=False, logging_nan_inf_filter=True, logging_steps=10, logging_strategy=steps, lr_scheduler_type=linear, max_grad_norm=1.0, max_steps=3000, metric_for_best_model=None, mp_parameters=, no_cuda=False, num_train_epochs=3.0, optim=adamw_hf, optim_args=None, output_dir=output/adgen-chatglm2-6b-pt-128-2e-2, overwrite_output_dir=True, past_index=-1, per_device_eval_batch_size=1, per_device_train_batch_size=1, predict_with_generate=True, prediction_loss_only=False, push_to_hub=False, push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=, ray_scope=last, remove_unused_columns=True, report_to=[], resume_from_checkpoint=None, run_name=output/adgen-chatglm2-6b-pt-128-2e-2, save_on_each_node=False, save_steps=1000, save_strategy=steps, save_total_limit=None, seed=42, sharded_ddp=[], skip_memory_metrics=True, sortish_sampler=False, tf32=None, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, torchdynamo=None, tpu_metrics_debug=False, tpu_num_cores=None, use_ipex=False, use_legacy_prediction_loop=False, use_mps_device=False, warmup_ratio=0.0, warmup_steps=0, weight_decay=0.0, xpu_backend=None, ) C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\load.py:2088: FutureWarning: 'use_auth_token' was deprecated in favor of 'token' in version 2.14.0 and will be removed in 3.0.0. You can remove this warning by passing 'token=' instead. warnings.warn( [INFO|configuration_utils.py:666] 2023-12-24 10:56:14,382 >> loading configuration file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\config.json [WARNING|configuration_auto.py:905] 2023-12-24 10:56:14,382 >> Explicitly passing a revision is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|configuration_utils.py:666] 2023-12-24 10:56:14,445 >> loading configuration file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\config.json [INFO|configuration_utils.py:720] 2023-12-24 10:56:14,446 >> Model config ChatGLMConfig { "_name_or_path": "G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b", "add_bias_linear": false, "add_qkv_bias": true, "apply_query_key_layer_scaling": true, "apply_residual_connection_post_layernorm": false, "architectures": [ "ChatGLMModel" ], "attention_dropout": 0.0, "attention_softmax_in_fp32": true, "auto_map": { "AutoConfig": "configuration_chatglm.ChatGLMConfig", "AutoModel": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForCausalLM": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForSeq2SeqLM": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForSequenceClassification": "modeling_chatglm.ChatGLMForSequenceClassification" }, "bias_dropout_fusion": true, "classifier_dropout": null, "eos_token_id": 2, "ffn_hidden_size": 13696, "fp32_residual_connection": false, "hidden_dropout": 0.0, "hidden_size": 4096, "kv_channels": 128, "layernorm_epsilon": 1e-05, "model_type": "chatglm", "multi_query_attention": true, "multi_query_group_num": 2, "num_attention_heads": 32, "num_layers": 28, "original_rope": true, "pad_token_id": 0, "padded_vocab_size": 65024, "post_layer_norm": true, "pre_seq_len": null, "prefix_projection": false, "quantization_bit": 0, "rmsnorm": true, "rope_ratio": 50, "seq_length": 32768, "tie_word_embeddings": false, "torch_dtype": "float16", "transformers_version": "4.27.1", "use_cache": true, "vocab_size": 65024 }

[WARNING|tokenization_auto.py:652] 2023-12-24 10:56:14,446 >> Explicitly passing a revision is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file tokenizer.model [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file added_tokens.json [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file special_tokens_map.json [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file tokenizer_config.json [WARNING|auto_factory.py:456] 2023-12-24 10:56:14,539 >> Explicitly passing a revision is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|modeling_utils.py:2400] 2023-12-24 10:56:14,620 >> loading weights file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\pytorch_model.bin.index.json [INFO|configuration_utils.py:575] 2023-12-24 10:56:14,621 >> Generate config GenerationConfig { "_from_model_config": true, "eos_token_id": 2, "pad_token_id": 0, "transformers_version": "4.27.1" }

Loading checkpoint shards: 86%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ | 6/7 [00:05<00:00, 1.08it/sLoading checkpoint shards: 100%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒| 7/7 [00:06<00:00, 1.14it/Loading checkpoint shards: 100%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒| 7/7 [00:06<00:00, 1.12it/s] [INFO|modeling_utils.py:3032] 2023-12-24 10:56:20,927 >> All model checkpoint weights were used when initializing ChatGLMForConditionalGeneration.

[WARNING|modeling_utils.py:3034] 2023-12-24 10:56:20,927 >> Some weights of ChatGLMForConditionalGeneration were not initialized from the model checkpoint at G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b and are newly initialized: ['transformer.prefix_encoder.embedding.weight'] You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference. [INFO|modeling_utils.py:2690] 2023-12-24 10:56:20,930 >> Generation config file not found, using a generation config created from the model config. Quantized to 4 bit Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:00<?Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:11<?Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:11<?, ? examples/s] multiprocess.pool.RemoteTraceback: """ Traceback (most recent call last): File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\multiprocess\pool.py", line 125, in worker result = (True, func(args, kwds)) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1377, in _write_generator_to_queue for i, result in enumerate(func(kwargs)): File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3466, in _map_single batch = apply_function_on_filtered_inputs( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3345, in apply_function_on_filtered_inputs processed_inputs = function(fn_args, *additional_args, **fn_kwargs) File "main.py", line 192, in preprocess_function_train prompt = tokenizer.build_prompt(query, history) AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt' """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "main.py", line 411, in main() File "main.py", line 229, in main train_dataset = train_dataset.map( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 591, in wrapper out: Union["Dataset", "DatasetDict"] = func(self, *args, *kwargs) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 556, in wrapper out: Union["Dataset", "DatasetDict"] = func(self, args, **kwargs) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3181, in map for rank, done, content in iflatmap_unordered( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1417, in iflatmap_unordered [async_result.get(timeout=0.05) for async_result in async_results] File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1417, in [async_result.get(timeout=0.05) for async_result in async_results] File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\multiprocess\pool.py", line 771, in get raise self._value AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt'

xiaoyun102 commented 7 months ago

不行啊 哥哥们,我用的是最新的文件,还是报下面的错

$ sh train.sh 12/24/2023 10:56:14 - WARNING - main - Process rank: -1, device: cuda:0, n_gpu: 1distributed training: False, 16-bits training: False 12/24/2023 10:56:14 - INFO - main - Training/evaluation parameters Seq2SeqTrainingArguments( _n_gpu=1, adafactor=False, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, auto_find_batch_size=False, bf16=False, bf16_full_eval=False, data_seed=None, dataloader_drop_last=False, dataloader_num_workers=0, dataloader_pin_memory=True, ddp_bucket_cap_mb=None, ddp_find_unused_parameters=None, ddp_timeout=1800, debug=[], deepspeed=None, disable_tqdm=False, do_eval=False, do_predict=False, do_train=True, eval_accumulation_steps=None, eval_delay=0, eval_steps=None, evaluation_strategy=no, fp16=False, fp16_backend=auto, fp16_full_eval=False, fp16_opt_level=O1, fsdp=[], fsdp_config={'fsdp_min_num_params': 0, 'xla': False, 'xla_fsdp_grad_ckpt': False}, fsdp_min_num_params=0, fsdp_transformer_layer_cls_to_wrap=None, full_determinism=False, generation_max_length=None, generation_num_beams=None, gradient_accumulation_steps=16, gradient_checkpointing=False, greater_is_better=None, group_by_length=False, half_precision_backend=auto, hub_model_id=None, hub_private_repo=False, hub_strategy=every_save, hub_token=, ignore_data_skip=False, include_inputs_for_metrics=False, jit_mode_eval=False, label_names=None, label_smoothing_factor=0.0, learning_rate=0.02, length_column_name=length, load_best_model_at_end=False, local_rank=-1, log_level=passive, log_level_replica=warning, log_on_each_node=True, logging_dir=output/adgen-chatglm2-6b-pt-128-2e-2\runs\Dec24_10-56-14_ATW-W3967, logging_first_step=False, logging_nan_inf_filter=True, logging_steps=10, logging_strategy=steps, lr_scheduler_type=linear, max_grad_norm=1.0, max_steps=3000, metric_for_best_model=None, mp_parameters=, no_cuda=False, num_train_epochs=3.0, optim=adamw_hf, optim_args=None, output_dir=output/adgen-chatglm2-6b-pt-128-2e-2, overwrite_output_dir=True, past_index=-1, per_device_eval_batch_size=1, per_device_train_batch_size=1, predict_with_generate=True, prediction_loss_only=False, push_to_hub=False, push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=, ray_scope=last, remove_unused_columns=True, report_to=[], resume_from_checkpoint=None, run_name=output/adgen-chatglm2-6b-pt-128-2e-2, save_on_each_node=False, save_steps=1000, save_strategy=steps, save_total_limit=None, seed=42, sharded_ddp=[], skip_memory_metrics=True, sortish_sampler=False, tf32=None, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, torchdynamo=None, tpu_metrics_debug=False, tpu_num_cores=None, use_ipex=False, use_legacy_prediction_loop=False, use_mps_device=False, warmup_ratio=0.0, warmup_steps=0, weight_decay=0.0, xpu_backend=None, ) C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\load.py:2088: FutureWarning: 'use_auth_token' was deprecated in favor of 'token' in version 2.14.0 and will be removed in 3.0.0. You can remove this warning by passing 'token=' instead. warnings.warn( [INFO|configuration_utils.py:666] 2023-12-24 10:56:14,382 >> loading configuration file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\config.json [WARNING|configuration_auto.py:905] 2023-12-24 10:56:14,382 >> Explicitly passing a revision is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|configuration_utils.py:666] 2023-12-24 10:56:14,445 >> loading configuration file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\config.json [INFO|configuration_utils.py:720] 2023-12-24 10:56:14,446 >> Model config ChatGLMConfig { "_name_or_path": "G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b", "add_bias_linear": false, "add_qkv_bias": true, "apply_query_key_layer_scaling": true, "apply_residual_connection_post_layernorm": false, "architectures": [ "ChatGLMModel" ], "attention_dropout": 0.0, "attention_softmax_in_fp32": true, "auto_map": { "AutoConfig": "configuration_chatglm.ChatGLMConfig", "AutoModel": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForCausalLM": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForSeq2SeqLM": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModelForSequenceClassification": "modeling_chatglm.ChatGLMForSequenceClassification" }, "bias_dropout_fusion": true, "classifier_dropout": null, "eos_token_id": 2, "ffn_hidden_size": 13696, "fp32_residual_connection": false, "hidden_dropout": 0.0, "hidden_size": 4096, "kv_channels": 128, "layernorm_epsilon": 1e-05, "model_type": "chatglm", "multi_query_attention": true, "multi_query_group_num": 2, "num_attention_heads": 32, "num_layers": 28, "original_rope": true, "pad_token_id": 0, "padded_vocab_size": 65024, "post_layer_norm": true, "pre_seq_len": null, "prefix_projection": false, "quantization_bit": 0, "rmsnorm": true, "rope_ratio": 50, "seq_length": 32768, "tie_word_embeddings": false, "torch_dtype": "float16", "transformers_version": "4.27.1", "use_cache": true, "vocab_size": 65024 }

[WARNING|tokenization_auto.py:652] 2023-12-24 10:56:14,446 >> Explicitly passing a revision is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file tokenizer.model [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file added_tokens.json [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file special_tokens_map.json [INFO|tokenization_utils_base.py:1800] 2023-12-24 10:56:14,506 >> loading file tokenizer_config.json [WARNING|auto_factory.py:456] 2023-12-24 10:56:14,539 >> Explicitly passing a revision is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision. [INFO|modeling_utils.py:2400] 2023-12-24 10:56:14,620 >> loading weights file G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b\pytorch_model.bin.index.json [INFO|configuration_utils.py:575] 2023-12-24 10:56:14,621 >> Generate config GenerationConfig { "_from_model_config": true, "eos_token_id": 2, "pad_token_id": 0, "transformers_version": "4.27.1" }

Loading checkpoint shards: 86%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ | 6/7 [00:05<00:00, 1.08it/sLoading checkpoint shards: 100%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒| 7/7 [00:06<00:00, 1.14it/Loading checkpoint shards: 100%|▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒| 7/7 [00:06<00:00, 1.12it/s] [INFO|modeling_utils.py:3032] 2023-12-24 10:56:20,927 >> All model checkpoint weights were used when initializing ChatGLMForConditionalGeneration.

[WARNING|modeling_utils.py:3034] 2023-12-24 10:56:20,927 >> Some weights of ChatGLMForConditionalGeneration were not initialized from the model checkpoint at G:\chatglm\ChatGLM2-V\wenda\big_model\wd-git_6.2\wenda\model\chatglm3-6b and are newly initialized: ['transformer.prefix_encoder.embedding.weight'] You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference. [INFO|modeling_utils.py:2690] 2023-12-24 10:56:20,930 >> Generation config file not found, using a generation config created from the model config. Quantized to 4 bit Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:00<?Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:11<?Running tokenizer on train dataset (num_proc=10): 0%| | 0/10 [00:11<?, ? examples/s] multiprocess.pool.RemoteTraceback: """ Traceback (most recent call last): File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\multiprocess\pool.py", line 125, in worker result = (True, func(args, kwds)) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1377, in _write_generator_to_queue for i, result in enumerate(func(kwargs)): File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3466, in _map_single batch = apply_function_on_filtered_inputs( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3345, in apply_function_on_filtered_inputs processed_inputs = function(fn_args, *additional_args, **fn_kwargs) File "main.py", line 192, in preprocess_function_train prompt = tokenizer.build_prompt(query, history) AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt' """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "main.py", line 411, in main() File "main.py", line 229, in main train_dataset = train_dataset.map( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 591, in wrapper out: Union["Dataset", "DatasetDict"] = func(self, *args, *kwargs) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 556, in wrapper out: Union["Dataset", "DatasetDict"] = func(self, args, **kwargs) File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\arrow_dataset.py", line 3181, in map for rank, done, content in iflatmap_unordered( File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1417, in iflatmap_unordered [async_result.get(timeout=0.05) for async_result in async_results] File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\datasets\utils\py_utils.py", line 1417, in [async_result.get(timeout=0.05) for async_result in async_results] File "C:\ProgramData\anaconda3\envs\new_env\lib\site-packages\multiprocess\pool.py", line 771, in get raise self._value AttributeError: 'ChatGLMTokenizer' object has no attribute 'build_prompt'

请问解决了吗?我也有相同的问题,我在笔记本电脑(核芯显卡ultra7, windows11家庭版)上尝试微调,我的调试脚本(train.bat)是 ` set PRE_SEQ_LEN=128 set LR=2e-2

python main.py ^ --do_train ^ --train_file train.json ^ --validation_file dev.json ^ --preprocessing_num_workers 10 ^ --prompt_column content ^ --response_column summary ^ --overwrite_cache ^ --model_name_or_path D:\openai.wiki\ChatGLM2-6B\THUDM\chatglm2-6b ^ --output_dir output/adgen-chatglm2-6b-pt-%PRE_SEQ_LEN%-%LR% ^ --overwrite_output_dir ^ --max_source_length 64 ^ --max_target_length 128 ^ --per_device_train_batch_size 1 ^ --per_device_eval_batch_size 1 ^ --gradient_accumulation_steps 16 ^ --predict_with_generate ^ --max_steps 3000 ^ --logging_steps 10 ^ --save_steps 1000 ^ --learning_rate %LR% ^

`