我是CNN的新手,我正在尝试使用CIFAR-10数据集训练分类器。我按照Pjreddie's Tutorial来训练一个10类数据集的简单分类器。
我使用下面的代码训练了模型,我得到了cifar_small.weights
,我后来用于检测
./darknet classifier train cfg/cifar.data cfg/cifar_small.cfg
在训练简单网络后,我尝试使用cifar_small.cfg
和cifar_small.weigths
./darknet detect cfg/cifar_small.cfg cifar_small.weights data/dog.jpg
图层过滤器大小输入输出
0 conv 32 3 x 3/1 28 x 28 x 3 - > 28 x 28 x 32
1 max 2 x 2/2 28 x 28 x 32 - > 14 x 14 x 32
2 conv 64 3 x 3/1 14 x 14 x 32 - > 14 x 14 x 64
3 max 2 x 2/2 14 x 14 x 64 - > 7 x 7 x 64
4 conv 128 3 x 3/1 7 x 7 x 64 - > 7 x 7 x 128
5转10 1 x 1/1 7 x 7 x 128 - > 7 x 7 x 10
6 avg 7 x 7 x 10 - > 10个
7 softmax 10
8成本10装载重量
来自cifar_small.weights ...完成!
data / dog.jpg:预测 0.007035秒。
未使用OpenCV编译,保存为predictions.png而不是
它不会预测终端中的值,也不会在输出图像上绘制边界框。图像输出与输入相同。
当我尝试使用yolo.cfg
和预先训练的yolo.weights
预测相同的图片时,它的工作方式如下所示。
图层过滤器大小输入输出
0转32 3 x 3/1 416 x 416 x 3 - > 416 x 416 x 32
1 max 2 x 2/2 416 x 416 x 32 - > 208 x 208 x 32
2 conv 64 3 x 3/1 208 x 208 x 32 - > 208 x 208 x 64
3 max 2 x 2/2 208 x 208 x 64 - > 104 x 104 x 64
4转128 3 x 3/1 104 x 104 x 64 - > 104 x 104 x 128
5 conv 64 1 x 1/1104×104×128 - > 104 x 104 x 64
6转128 3 x 3/1 104 x 104 x 64 - > 104 x 104 x 128
7 max 2 x 2/10 104 x 104 x 128 - > 52 x 52 x 128
8转256 3 x 3/1 52 x 52 x 128 - > 52 x 52 x 256
9 conv 128 1 x 1/1 52 x 52 x 256 - > 52 x 52 x 128
10转256 3 x 3/1 52 x 52 x 128 - > 52 x 52 x 256
11最大2 x 2/2 52 x 52 x 256 - > 26 x 26 x 256
12转512 3 x 3/1 26 x 26 x 256 - >
26 x 26 x 512
13 conv 256 1 x 1/1 26 x 26 x 512 - > 26 x 26 x 256
14 conv 512 3 x 3/1 26 x 26 x 256 - > 26 x 26 x 512
15转256 1 x 1/1 26 x 26 x 512 - > 26 x 26 x 256
16 conv 512 3 x 3/1 26 x 26 x 256 - > 26 x 26 x 512
17最大2 x 2/2 26 x 26 x 512 - > 13 x 13 x 512
18转1024 3 x 3/1 13 x 13 x 512 - > 13 x 13 x1024
19 conv 512 1 x 1/1 13 x 13 x1024 - > 13 x 13 x 512
20转1024 3 x 3/1 13 x 13 x 512 - > 13 x 13 x1024
21 conv 512 1 x 1/1 13 x 13 x1024 - > 13 x 13 x 512
22转1024 3 x 3/1 13 x 13 x 512 - > 13 x 13 x1024
23转1024 3 x 3/1 13 x 13 x1024 - > 13 x 13 x1024
24转1024 3 x 3/1 13 x 13 x1024 - > 13 x 13 x1024
25路线16
26 reorg / 2
26 x 26 x 512 - > 13 x 13 x2048
27路线26 24
28 转换1024 3 x 3/1 13 x 13 x3072 - > 13 x 13 x1024
29 conv 425 1 x 1/1 13 x 13 x1024 - > 13 x 13 x 425
30检测
从yolo.weights加载重量...完成!
data / dog.jpg:预计于11.057513秒。
汽车:54%
自行车:51%的狗:56%
它预测与输出图像中的边界框一起预期。
答案 0 :(得分:1)
我认为你应该使用这个命令:
./darknet classify cfg/cifar_small.cfg cifar_small.weights data/dog.jpg
答案 1 :(得分:0)
在/examples/darknet.c中(从422〜500行),您可以看到darknet框架对'./darknet'之后的每个函数输入的作用。 在这种情况下,“ /。darknet classify〜”使函数“ predict_classifier”在examples / classifier.c中运行。
预测结果由第601〜606行的内容打印出来(在classifier.c中)
for(i = 0; i < top; ++i)
{
int index = indexes[i];
printf("%5.2f%%: %s\n", predictions[index] * 100, names[index]);
}