ncnn也使用了类似caffe中的blob作为最基本的数据结构来存储计算过程中的各种数据。
1.blob结构体
class Blob
{
public:
std::string name;
int producer; // 指明该blob是哪个层的输出,同时说明,一个blob只能由一个层输出
std::vector<int> consumers; // 指明该blob哪个层的输入,一个可以同时输入多个层
}
由blob类结构可以看出blob类本身不存放具体的计算数据,只负责关联blob和相应层(该blob是哪个层的输出,哪个层的输入) 真正的blob数据存放在blob_mats里,索引与blob一致,而blob_mats存放在net.h中的Extractor结构体中。
本文深入探讨了NCNN框架中Blob数据结构的作用与实现。Blob作为基本数据单元,连接了网络中的各层,负责传递计算过程中的数据。文章详细介绍了Blob的属性,包括名称、生产者和消费者,并解释了真正的数据存储位置。
490

被折叠的 条评论
为什么被折叠?



