3.2.5 编译 Darknet 模型
最后更新于
最后更新于
BMNETD 是针对 Darknet 的模型编译器,可将某网络的 weight 和 cfg 编译成 BMRuntime 所需要 的文件 (目前只支持 yolo)。而且在编译的同时,支持每一层的 NPU 模型计算结果都会和 CPU 的计算结果进行对 比,保证正确性。
bmnetd的使用例程参见${BMNNSDK}/examples/nntc/bmnetd。
Darknet模型转换注意事项
cfg 文件中batch/subvision 要大于转换脚本中设置的输入shape的batch size。
命令行形式:
参数介绍:
args | type | Description |
---|---|---|
Python模式:
bmnetd若成功,输出的 log 最后会看到以下信息:
bmnetd成功后,将在指定的文件夹中生成一个compilation.bmodel的文件,该文件则是转换成功的 bmodel,用户可以重命名。
model
string
Necessary. Darknet cfg path
weights
string
Necessary.Darknet weight path
shapes
string
Optional. Shapes of all inputs, default use the shape in prototxt, format [[x,x,x,x],[x,x],…], these correspond to inputs one by one in sequence
net_name
string
Optional. Name of the network, default use cfg path
opt
int
Optional. Optimization level. Option: 0, 1, 2, default 2.
dyn
bool
Optional. Use dynamic compilation, default false.
outdir
string
Necessary. Output directory
target
string
Necessary. Option: BM1682, BM1684; default: BM1682
cmp
bool
Optional.Check result during compilation. Default: true
mode
string
Optional. Set bmnetc mode. Option: compile, GenUmodel. Default: compile.
enable_profile
bool
Optional. Enable profile log. Default: fals
log_dir
string
Optional. Specify the log directory Default: “”
v
string
Optional.Set log verbose level. Default: 0 (0: FATAL, 1: ERROR, 2: WARNING, 3: INFO, 4: DEBUG).
dump_ref
bool
Optional.Enable dump input&output ref data when compile without compare. Default: false.