MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / export_lora_params_parse

Function export_lora_params_parse

examples/export-lora/export-lora.cpp:140–218  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138}
139
140static bool export_lora_params_parse(int argc, char ** argv, struct export_lora_params * params) {
141 bool invalid_param = false;
142 std::string arg;
143 struct export_lora_params default_params = get_default_export_lora_params();
144 const std::string arg_prefix = "--";
145
146 for (int i = 1; i < argc; i++) {
147 arg = argv[i];
148 if (arg.compare(0, arg_prefix.size(), arg_prefix) == 0) {
149 std::replace(arg.begin(), arg.end(), '_', '-');
150 }
151
152 if (arg == "-m" || arg == "--model-base") {
153 if (++i >= argc) {
154 invalid_param = true;
155 break;
156 }
157 params->fn_model_base = argv[i];
158 } else if (arg == "-o" || arg == "--model-out") {
159 if (++i >= argc) {
160 invalid_param = true;
161 break;
162 }
163 params->fn_model_out = argv[i];
164 } else if (arg == "-l" || arg == "--lora") {
165 if (++i >= argc) {
166 invalid_param = true;
167 break;
168 }
169 struct lora_info lora;
170 lora.filename = argv[i];
171 lora.scale = 1.0f;
172 params->lora.push_back(lora);
173 } else if (arg == "-s" || arg == "--lora-scaled") {
174 if (++i >= argc) {
175 invalid_param = true;
176 break;
177 }
178 struct lora_info lora;
179 lora.filename = argv[i];
180 if (++i >= argc) {
181 invalid_param = true;
182 break;
183 }
184 lora.scale = std::stof(argv[i]);
185 params->lora.push_back(lora);
186 } else if (arg == "-t" || arg == "--threads") {
187 if (++i >= argc) {
188 invalid_param = true;
189 break;
190 }
191 params->n_threads = std::stoi(argv[i]);
192 if (params->n_threads <= 0) {
193 params->n_threads = std::thread::hardware_concurrency();
194 }
195 } else {
196 fprintf(stderr, "error: unknown argument: '%s'\n", arg.c_str());
197 export_lora_print_usage(argc, argv, &default_params);

Callers 1

mainFunction · 0.85

Calls 9

fprintfFunction · 0.85
export_lora_print_usageFunction · 0.85
compareMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected