|
use clap::Parser; |
|
|
|
use crate::YOLOTask; |
|
|
|
#[derive(Parser, Clone)] |
|
#[command(author, version, about, long_about = None)] |
|
pub struct Args { |
|
|
|
#[arg(long, required = true)] |
|
pub model: String, |
|
|
|
|
|
#[arg(long, required = true)] |
|
pub source: String, |
|
|
|
|
|
#[arg(long, default_value_t = 0)] |
|
pub device_id: u32, |
|
|
|
|
|
#[arg(long)] |
|
pub trt: bool, |
|
|
|
|
|
#[arg(long)] |
|
pub cuda: bool, |
|
|
|
|
|
#[arg(long, default_value_t = 1)] |
|
pub batch: u32, |
|
|
|
|
|
#[arg(long, default_value_t = 1)] |
|
pub batch_min: u32, |
|
|
|
|
|
#[arg(long, default_value_t = 32)] |
|
pub batch_max: u32, |
|
|
|
|
|
#[arg(long)] |
|
pub fp16: bool, |
|
|
|
|
|
#[arg(long, value_enum)] |
|
pub task: Option<YOLOTask>, |
|
|
|
|
|
#[arg(long)] |
|
pub nc: Option<u32>, |
|
|
|
|
|
#[arg(long)] |
|
pub nk: Option<u32>, |
|
|
|
|
|
#[arg(long)] |
|
pub nm: Option<u32>, |
|
|
|
|
|
#[arg(long)] |
|
pub width: Option<u32>, |
|
|
|
|
|
#[arg(long)] |
|
pub height: Option<u32>, |
|
|
|
|
|
#[arg(long, required = false, default_value_t = 0.3)] |
|
pub conf: f32, |
|
|
|
|
|
#[arg(long, required = false, default_value_t = 0.45)] |
|
pub iou: f32, |
|
|
|
|
|
#[arg(long, required = false, default_value_t = 0.55)] |
|
pub kconf: f32, |
|
|
|
|
|
#[arg(long)] |
|
pub plot: bool, |
|
|
|
|
|
#[arg(long)] |
|
pub profile: bool, |
|
} |
|
|