|
1 | 1 | use std::path::PathBuf; |
2 | 2 |
|
3 | 3 | use clap::{Args as ClapArgs, Parser, Subcommand}; |
4 | | -use deepseek_ocr_config::{AppConfig, ConfigOverride, ConfigOverrides}; |
| 4 | +use deepseek_ocr_config::{AppConfig, ConfigOverride, ConfigOverrides, config::InferenceOverride}; |
5 | 5 | use deepseek_ocr_core::runtime::{DeviceKind, Precision}; |
6 | 6 |
|
7 | 7 | #[derive(Parser, Debug)] |
@@ -164,30 +164,33 @@ pub struct InferArgs { |
164 | 164 |
|
165 | 165 | impl From<&InferArgs> for ConfigOverrides { |
166 | 166 | fn from(args: &InferArgs) -> Self { |
167 | | - let mut overrides = ConfigOverrides::default(); |
168 | | - overrides.config_path = args.config.clone(); |
169 | | - overrides.model_id = args.model.clone(); |
170 | | - overrides.model_config = args.model_config.clone(); |
171 | | - overrides.tokenizer = args.tokenizer.clone(); |
172 | | - overrides.weights = args.weights.clone(); |
173 | | - overrides.inference.device = args.device; |
174 | | - overrides.inference.precision = args.dtype; |
175 | | - overrides.inference.template = args.template.clone(); |
176 | | - overrides.inference.base_size = args.base_size; |
177 | | - overrides.inference.image_size = args.image_size; |
178 | | - overrides.inference.crop_mode = args.crop_mode; |
179 | | - overrides.inference.max_new_tokens = args.max_new_tokens; |
180 | | - if args.no_cache { |
181 | | - overrides.inference.use_cache = Some(false); |
| 167 | + let inference = InferenceOverride { |
| 168 | + device: args.device, |
| 169 | + precision: args.dtype, |
| 170 | + template: args.template.clone(), |
| 171 | + base_size: args.base_size, |
| 172 | + image_size: args.image_size, |
| 173 | + crop_mode: args.crop_mode, |
| 174 | + max_new_tokens: args.max_new_tokens, |
| 175 | + use_cache: args.no_cache.then_some(false), |
| 176 | + do_sample: args.do_sample, |
| 177 | + temperature: args.temperature, |
| 178 | + top_p: args.top_p, |
| 179 | + top_k: args.top_k, |
| 180 | + repetition_penalty: args.repetition_penalty, |
| 181 | + no_repeat_ngram_size: args.no_repeat_ngram_size, |
| 182 | + seed: args.seed, |
| 183 | + }; |
| 184 | + |
| 185 | + ConfigOverrides { |
| 186 | + config_path: args.config.clone(), |
| 187 | + model_id: args.model.clone(), |
| 188 | + model_config: args.model_config.clone(), |
| 189 | + tokenizer: args.tokenizer.clone(), |
| 190 | + weights: args.weights.clone(), |
| 191 | + inference, |
| 192 | + ..ConfigOverrides::default() |
182 | 193 | } |
183 | | - overrides.inference.do_sample = args.do_sample; |
184 | | - overrides.inference.temperature = args.temperature; |
185 | | - overrides.inference.top_p = args.top_p; |
186 | | - overrides.inference.top_k = args.top_k; |
187 | | - overrides.inference.repetition_penalty = args.repetition_penalty; |
188 | | - overrides.inference.no_repeat_ngram_size = args.no_repeat_ngram_size; |
189 | | - overrides.inference.seed = args.seed; |
190 | | - overrides |
191 | 194 | } |
192 | 195 | } |
193 | 196 |
|
|
0 commit comments