前面以一篇文章將寫將yolov3網路層引數載入出來。
這裡有幾個結構體在yolov3中的鍊錶中作用比較大:
typedef struct list list;
typedef struct node node;
typedef struct kvp;
typedef structsection;
node *n = sections->front;
if(!n) error("config file has no sections");
network net = make_network(sections->size - 1);
net.gpu_index = gpu_index;
size_params params;
section *s = (section *)n->val;
list *options = s->options;
if(!is_network(s)) error("first section must be [net] or [network]");
parse_net_options(options, &net);
params.h = net.h;
params.w = net.w;
params.c = net.c;
params.inputs = net.inputs;
if (batch > 0) net.batch = batch;
params.batch = net.batch;
params.time_steps = net.time_steps;
params.net = net;
float bflops = 0;
size_t workspace_size = 0;
可以看出*n代表yolov3網路的第乙個網路層[net],在第三行作者建立乙個network(詳見network.h中的network),用來儲存乙個網路層的所有引數,sections->size - 1可見net中的n是 從零開始。在第五行初始化乙個size_params結構體用來儲存乙個網路層中輸入的資訊。
在network parse_network_cfg_custom(char *filename, int batch)中後面的程式是將除去第一層的其餘層都讀入到其他*n中,
yolov3中資料讀入(一)
yolov3的訓練 從 detector.c de train detector 函式開始,函式如下 void train detector char datacfg,char cfgfile,char weightfile,int gpus,int ngpus,int clear,int dont...
yolov3系列 零 yolov3詳解
目標檢測演算法與efficientdet講解 論 文 翻譯 yolov3主頁 yolo系列的目標檢測演算法可以說是目標檢測史上的巨集篇巨作,v3演算法是在v1 v2基礎上形成的,先看下 yolov1 yolov2 下圖為yolov3的網路結構 dbl darknetconv2d bn leaky 是...
yolov3的缺點 yolov3特點總結
p1,yolov3,簡單總結下比較特別的地方 1.bounding box 中心值x,y的 是通過乙個sigmoid 函式,來 在每乙個單元 cell 的相對位置。而不像普通那種 乙個相對於anchor的offset。然後bbox 損失是用的mse 一般都是用smooth l1 3.類別 沒有使用s...