Toybrick

标题: Darknet19分类模型转化后测试类别输出都为1 [打印本页]

作者: christian    时间: 2020-3-31 15:42
标题: Darknet19分类模型转化后测试类别输出都为1
如题Darknet19分类模型转化后测试类别输出都为1,不知该如何上手排查。转化模型代码如下所示:

from PIL import Image
import numpy as np
#from matplotlib import pyplot as plt

import re
import math
import random

from rknn.api import RKNN


if __name__ == '__main__':

    # Create RKNN object
    rknn = RKNN()

    # Load tensorflow model
    print('--> Loading model')
    rknn.load_darknet(model='./darknet19-sku12.cfg', weight="./darknet19-sku12_12096.weights")

    print('done')

    rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2', batch_size=1)

    # Build model
    print('--> Building model')
    rknn.build(do_quantization=False, dataset='./dataset_224x224.txt', pre_compile=False)
    print('done')

    rknn.export_rknn('./darknet19_224x224.rknn')

    exit(0)



作者: christian    时间: 2020-3-31 15:43
量化关了后输出的类别也还是1
作者: jefferyzhang    时间: 2020-3-31 16:28
看下troubleshoot文档,dump出每一层找下出问题的地方
作者: christian    时间: 2020-3-31 16:44
jefferyzhang 发表于 2020-3-31 16:28
看下troubleshoot文档,dump出每一层找下出问题的地方

大佬,逐层比对有木有好的方法可以推荐的?
作者: leok    时间: 2020-3-31 16:49
christian 发表于 2020-3-31 16:44
大佬,逐层比对有木有好的方法可以推荐的?

算cos和欧氏距离
作者: christian    时间: 2020-3-31 16:59
leok 发表于 2020-3-31 16:49
算cos和欧氏距离

找到原因了,darknet中最后sorftmax好像有问题,将输出调整到darknet之前的[avgpool] 就正常的,还不晓得是什么原因的。
[convolutional]
filters=13
size=1
stride=1
pad=1
activation=linear

[avgpool]

[softmax]
groups=1
作者: jefferyzhang    时间: 2020-3-31 17:13
试一下1.3.1beta版,如果是softmax问题,应该是已知问题:

rknn_toolkit v1.3.1 beta3:
链接: https://pan.baidu.com/s/1Kn2FGAdF_j3CMLNEsC3OPw 提取码: rcds





欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3