当前位置:网站首页>yolov3数据读入(二)
yolov3数据读入(二)
2022-08-04 05:28:00 【大黄猫一号】
前面以一篇文章将写将yolov3网络层参数加载出来。
这里有几个结构体在yolov3中的链表中作用比较大:
typedef struct list{
int size;
node *front;
node *back;
} list;
typedef struct node{
void *val;
struct node *next;
struct node *prev;
} node;
typedef struct{
char *key;
char *val;
int used;
} kvp;
typedef struct{
char *type;
list *options;
}section;下面看parser.c 文件中 network parse_network_cfg_custom(char *filename, int batch) 函数中的下一段程序:
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中,
边栏推荐
猜你喜欢
随机推荐
Kubernetes基本入门-概念介绍(一)
关系型数据库-MySQL:错误日志(log_error)
postgresql 事务隔离级别与锁
(九)哈希表
iptables防火墙
Kubernetes基本入门-元数据资源(四)
超详细MySQL总结
keep-alive的使用及详解
自动化运维工具Ansible(1)基础
关于let var 和const的区别以及使用
Delphi-C side interesting menu operation interface design
(十一)树--堆排序
【Matlab仿真】:一带电量为q的电荷以速度v运动,求运动电荷产生磁感应强度
EPSON RC+ 7.0 使用记录一
lambda函数用法总结
WARNING: sql version 9.2, server version 11.0.Some psql features might not work.
MySQL事务详解(事务隔离级别、实现、MVCC、幻读问题)
(五)栈及其应用
智能合约安全——溢出漏洞
自己学习爬虫写的基础小函数








