logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

图解ncnn实现Winograd卷积

图解ncnn实现Winograd卷积前言上一篇讲了Winograd的基本实现思路, 提到ncnn的实现是使用结论公式描述计算的流程, 用固定已知系数的加法代替矩阵乘法, 除此之外, ncnn的实现还涉及到一系列的内存重排配合SIMD操作提高效率. 本文用多幅图描述ncnn实现Winograd的详细流程. 希望能够帮助大家更好的理解.流程概述Y=AT[(GgGT)⊙(BTdB)]A=AT[U⊙V]A

树莓派3B+的uboot启动内核

前言  入手一个树莓派Raspberry 3B+后准备拿来当学习嵌入式Linux及深度学习边缘计算的板子,从BootLoader到Linux内核再到深度学习推理框架。本文主要是让树莓派启动Linux内核后开启一个命令行窗口,旨在了解系统启动过程。不用树莓派官方提供图形界面系统。中间走了很多坑,让我们一步步来捋一捋。树莓派的启动流程分析启动流程[1]First stage bootlo...

#linux
理解目标检测当中的mAP

我们在评价一个目标检测算法的“好坏”程度的时候,往往采用的是pascal voc 2012的评价标准mAP。网上一些资料博客参差不齐,缺乏直观易懂的正确说明。希望这篇博文能够给大家一点帮助。mAP历史目标检测的mAP计算方式在2010年的voc上发生过变化,目前基本都是采用新的mAP评价标准。(我有个小疑问就是明明是2010年修改的,但是貌似现在大家都称这种计算方式为2012)所...

#目标检测#深度学习#人工智能
C/C++库文件全了解(包含静态库、动态库,包含windows、linux,包含dll、lib、so)

目录C/C++库文件全了解一. 前言二. 名词解释2.1. windows的静态库:xxx.lib2.2. windows的动态库:xxx.dll2.3. linux的动态库:libxxx.so2.4. linux的静态库:xxx.a三. 自己编译库3.1 编译产生windows的静态库3.1.1代码准备:3.1.2 static_lib.cpp:3.1.3 static_lib.h:3.2 编译

序列化与反序列化之Flatbuffers(一):初步使用

序列化与反序列化之Flatbuffers(一):初步使用一: 前言在MNN中, 一个训练好的静态模型是经过Flatbuffers序列化之后保存在硬盘中的. 这带来两个问题: 1.为什么模型信息要序列化不能直接保存 2.其他框架如caffe和onnx都是用Protobuf序列化, 为什么MNN要用Flatbuffers, 有啥优势? 在解答这两个问题之前, 我们先要了解什么是序列化和反序列化.二:

三种思路实现Winograd卷积, 配上代码的保姆级教程

三种思路实现Winograd卷积, 配上代码你一定能看得懂前言一般我们实现卷积的时候大多采用的方案是im2col+gemm, 除此之外, 还有一种加速方案, 就是Winograd卷积, 目前几乎在所有推理框架里都能找到其实现. Winograd卷积出自一篇2016CVPR论文. 网上相关的博客挺多的, 但是都几乎只是几个公式配几个图, 看完后似懂非懂, 没有对应代码总是会感觉少了点什么, 想去看各

win10、ubuntu局域网共享

前提,电脑都得连在同一个局域网下。 linux共享出文件夹:右击要共享的文件夹,选择Local Network Share,选中share this folder和allow others to create delete files in this folder和允许访客访问guest access(必须点这个,不然之后别人访问不了),然后点击create share,第一次可能会提...

到底了