|
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,
|
|
}
|
|
|