Releases: Tencent/ncnn
android ios 预编译库 20200413 5580da4
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64,bitcode)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,bitcode,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64,bitcode)
bfloat16数据类型存储和算子优化实现,默认不启用,主要算子armv7/aarch64特化优化,packing布局的armv7/aarch64特化优化(包括BinaryOp/Cast/Clip/Concat/Convolution/ConvolutionDepthWise/Crop/Eltwise/Flatten/HardSigmoid/HardSwish/Innerproduct/Packing/Padding/Pooling/ReLU/ShuffleChannel/Sigmoid/Slice/TanH)
默认启用cpu packing_layout加速
Mat to_pixels/to_pixels_resize arm neon优化
mips算子优化absval/bias/clip/sigmoid/softmax/tanh(by nullptr-leo)
gpu shader按下标创建并自动获得specialization和pushconstant数量
android hardwarebuffer导入VkMat接口重构
为避免对齐问题,去除全部VkMat局部引用构造函数
VkMat和Command接口重构,去除staging成员,简化上传下载API
可指定cpu id的线程精准绑定接口
Mat PixelType 新增 BGRA 和相关转换类型
BinaryOp广播规则新增左值attention type 3/4
LSTM单向双向算子和onnx转换(支持chineseocrlite)
新增工具层DeepCopy
float32与bfloat16转换函数
命名enum类型(by caishanli)
benchncnn新增冷却时间开关(by kalcohol)
RK3288和RK3399 gpu开启fp16计算功能
visual studio 源码分组(by kalcohol)
修复innerproduct requant计算问题(by yx9527)
修复flatten gpu fp16p pack1to4/pack1to8某些shape运算错误
修复gpu非coherent显存不一致问题
改善onnx新版Pad/Resize/Clip/Slice转换兼容性
改善onnx hardsigmoid/hardswish识别转换
修复onnx模型某些BinaryOp输入丢失问题
docs文件夹自动同步wiki
单元测试增加到40个(by xieydd monkeyking)
单元测试增加gpu fp16p,gpu pack8和cpu bf16s变种
Travis CI新增arm32编译+单元测试+覆盖率
codecov代码覆盖率整合
ios编译开启bitcode
windows android库编译脚本(by kalcohol)
修复windows上的mingw编译(by qaz734913414)
cv::Mat与ncnn::Mat转换文档
高效roi/resize/rotate文档
protobuf安装问题FAQ(by tpoisonooo)
新增yolact实例分割例子
android ios 预编译库 20200226 57bedd5
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
实现全部pack8 shader,默认不启用
shader存取宏改为function-style
所有gpu算子加载时会尝试读取shape hint并调整localsize
单元测试增加到30个
ncnnoptimize离线shape推断
实现pixelshuffle的cpu/gpu推理
onnx pixelshuffle转换
im2col将遵循sgemm_convolution选项开关
改善qcom adreno老驱动兼容性
qcom855/855plus开启gpu fp16a功能
chgemm和int-requant计算错误修复(by tpoisonooo)
cmake生成VS工程分组(by kalcohol)
量化工具默认加入编译(by kalcohol)
fp32/fp16 avx2优化(by zhiliu6)
avx2卷积计算错误修正(by zhiliu6)
很多很多算子的bug修复
android ios 预编译库 20200106 6f2ef19
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
pixel rotate api,8种90度角度旋转镜像翻转优化,支持stride参数和ROI
ncnn example model zoo提供下载
Mat from_pixels(_resize)/to_pixels(_resize)支持stride参数和ROI
android 8.0支持android hardware buffer转换vkmat
修复旧arm mali驱动兼容性问题
改善onnx prelu/flatten转换兼容性
pytorch normalize转换
normalize支持inplace
normalize vulkan
slice pack4优化
slice vulkan
per-channel padding
ncnnoptimizer删除无用的pooling 1x1s1
ncnnoptimizer删除无用的memorydata
修复deconvolution vulkan计算错误
修复pooling vulkan SAME pad, avgpool_count_include_pad
修复可能的 staging buffer data race
修正prelu gpu计算错误
优化yolov3 output性能
vulkan spatial attention broadcasting
修正fasterrcnn gpu fp16p计算错误
修正conv1x1s1 gpu fp16p计算错误
改善pytorch shufflenetv2模型转换
ci新增webassembly
android ios 预编译库 20191113 9593783
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a + x86 + x86_64,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
pack内存布局推断neon优化(armv7+aarch64):conv1x1s1 conv1x1s2 conv3x3s1 conv3x3s1-winograd conv3x3s2 conv5x5s1 conv5x5s2 conv7x7s2 convdw3x3s1 convdw3x3s2 convdw5x5s1 convdw5x5s2 group-convolution/deconvolution pooling3x3s2-max pooling2x2s2-max padding relu hardsigmoid hardswish innerproduct reshape flatten shufflechannel
移除接口中的Option默认参数,预处理函数只使用1线程
mat输出新增颜色转换rgb2rgba/bgr2rgba/gray2rgba
新增android Bitmap与Mat直接转换函数
新增android Asset加载模型函数
新增NNIE ImageWatch插件
改善deconvolution pad/adj参数兼容性
新增Noop
新增convolution pad_value参数
unaryop vulkan实现tanh
修正radv驱动instancenorm crash
mxnet hardsigmoid/hardswish融合转换
onnx 1维batchnorm融合转换
onnx split转换
Reduction新增PROD/L1/L2/LogSum/LogSumExp以及keepdims参数
onnx ReduceMax/ReduceMin/ReduceMean/ReduceProd/ReduceSum/ReduceSumSquare/ReduceL1/ReduceL2/ReduceLogSum/ReduceLogSumExp转换
改善mxnet和onnx slice转换兼容性
onnx Unsqueeze/Squeeze转换
onnx Pooling ceil_mode转换
新增DataReader接口,方便从加密数据加载
修复某些手机无法识别大小核的问题
ncnnoptimize融合工具保留参数中的浮点精度
修复arm平台某些参数下im2col+gemm实现错误的问题
修复gpu推断使用fp16存储上传权重时可能的越界写问题
修复hisim100编译错误
int8 convolution winograd43精度提升
ncnn2table工具兼容性改善
ci新增windows-vs2017-gpu
cmake选项NCNN_DISABLE_PIC禁用PIC
新增retinaface人脸检测例子
新增mobilenetv3-ssd通用物体检测例子
benchmark新增shufflenet_v2
benchmark开启pack内存布局推断功能
新增android x86/x86_64预编译库
android ios 预编译库 20190908 91ef4ee
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
搬运了很多很多wiki文档
新增实验性pack内存布局推断:absval batchnorm clip relu sigmoid packing convolution convolutiondepthwise innerproduct pooling flatten prelu scale dropout softmax binaryop deconvolution deconvolutiondepthwise concat eltwise cast split
新选项use_packing_layout控制是否cpu使用pack内存布局推理
conv1x1s1 pack4 sgemm arm neon优化
conv3x3s1 pack4 winograd arm neon优化
tanh arm neon优化
新增模型无finetune量化工具ncnn2table和readme(默认不编译)
ncnn2table新增swapRB参数
ncnnoptimize在armlinux自动卷积调优
ncnnoptimize自动删除binaryop前无用的reshape
新增hardsigmoid
新增selu,onnx 支持转换
新增hardswish
padding支持reflect模式
pooling avg新参数count_include_pad,mxnet/onnx支持转换
convolution deconvolution支持四个方向不等长padding
onnx autopad SAME_LOWER转换
deconvolution新参数output_adj和output_shape
onnx resize转换
onnx Div转换
mxnet BilinearResize2D转换
修正 mxnet onnx slice转换
pytorch onnx channelshuffle转换
pytorch onnx hardsigmoid hardswish转换
修正gpu多线程显存池共享问题
concat vulkan实现pack1to4 pack4to1to4
binaryop vulkan实现broadcast
instancenorm vulkan实现
crop vulkan实现pack1to4 pack4to1
可移植的thread/condition-variable类
添加hisiv600 hi3559V100工具链文件
cmake编译系统更新,头文件安装到include/ncnn
更新mobilenetv2_yolov3 benchmark
新增mobilenet_v3 benchmark
ncnn模型可在netron中可视化
新增人体关键点定位例子simplepose
更新android squeezencnn工程
android ios 预编译库 20190611 bade132
编译版本,默认配置,android-ndk-r19c,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
新增算子融合工具 ncnnoptimize (bn + scale / conv + bn / deconv + bn / innerproduct + bn / conv + relu 等)
armv7/arm64 conv1x1s2
armv7/arm64 其他卷积的 sgemm 优化
int8 requantize 层融合实现全int8存储
修复旧版本 cmake openmp 兼容性
option api 变动,移除全局option
from_pixels_resize 越界读修正
x86 convolution avx2 优化
x86 convolution sse2 优化
interp resize bicubic 插值
gpu convolution/padding 支持 SAME pad
gpu conv1x1s1 优化
gpu conv3x3s1 winograd-f23 优化
gpu fp16 packed 优化,支持全部gpu
gpu fp16 storage 优化,支持绝大多数桌面gpu
gpu fp16 arithmetic 优化,默认关闭
允许创建自定义 vulkan compute pipeline 并嵌入推断过程
gpu 各层耗时统计
vulkan layer 架构调整
gpu fp16p fp16s fp16a int8s in8a 控制开关
更简单的多卡 gpu 设置 api
新的分割例子 pelee ssd segmentation
benchmark fp32 算子融合
android ios 预编译库 20190320 dbf2052
编译版本,默认配置,android-ndk-r18b,cctools-port 895 + ld64-274.2 + ios 10.2 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn-android-vulkan-lib 是 android 的静态库(armeabi-v7a + arm64-v8a,包含vulkan支持)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
ncnn-vulkan.framework.zip 是 ios 的静态库(arm64 + x86_64,包含vulkan支持,MoltenVK-1.1.82.0)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
新增实验性gpu推断:AbsVal, BatchNorm, BinaryOp(no broadcasting), Clip, Concat, Convolution(pad -233 not supported), ConvolutionDepthWise(pad -233 not supported), Crop, Deconvolution, DeconvolutionDepthWise, Dropout, Eltwise, Flatten, InnerProduct, Interp, LRN, Packing, Padding, Permute, Pooling(pad SAME not supported), PReLU, PriorBox, ReLU, Reorg, Reshape, Scale, ShuffleChannel, Sigmoid, Softmax, TanH, UnaryOp
支持gpu/cpu混合推断
无溢出的int8卷积计算
精度更好的int8量化方法
element packing数据存储
conv3x3s1 int8 aarch64优化
conv3x3s2 int8 armv7/aarch64优化
conv1x1s1 int8 aarch64优化
convdw3x3s1 int8 aarch64优化
convdw3x3s2 int8 aarch64优化
修正armv7-without-neon编译
example例子全部支持gpu运算
兼容onnx/mxnet的upsample和slice转换
squeezencnn增加gpu识别按钮
benchmark新增gpu推断
benchmark新增resnet50以及int8模型
ios openmp 更新为 7.0.1
android ios 预编译库 20181228 0991893
编译版本,默认配置,android-ndk-r17b,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
clip armv7/aarch64优化
convdw5x5 armv7/aarch64优化
conv3x3s1 aarch64优化
convdw3x3 int8 armv7 优化
conv1x1/conv3x3 int8 aarch64 优化
新增从内存加载明文param接口 Net::load_param_mem()
修正permute/dequantize/lstm/innerproduct int8
新增psroipooling/roialign
新增VS ImageWatch插件
修复新版本cmake的openmp编译
支持树莓派3编译
支持ARM-linux和hisi平台编译
更新cmake-ios工具链
修正yolov2多尺度检测
支持yolov3和yolov3例子
darknet2ncnn转换器
支持R-FCN和R-FCN例子
支持mxnet-ssd模型转换
新增shufflenetv2例子
兼容onnx opset7/8模型转换,增加更多op转换
修正mxnet batchnorm fix_gamma参数转换
新增yuv420sp转RGB和缩放函数
benchmark新增mnasnet/proxylessnasnet/mobilenet-yolov2/mobilenet-yolov3
android ios 预编译库 20180830 ef36d79
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)
blob/workspace内存池接口
winograd/sgemm/int8推断运行时开关
更精细的多线程控制
caffe模型转换加载int8量化表
int8推断(experimental)
windows高精度时间戳
conv3x3s2优化
depthwiseconv3x3s1 arm64优化
conv1x1和conv3x3 int8 armv7优化
修正dilated+stride conv快速运算
mxnet-shufflenet模型转换
新增mobilenetv2ssdlite例子
android ios 预编译库 20180704 d0cad77
编译版本,默认配置,android-ndk-r15c,cctools-port 886 + ld64 264.3.102 + ios 9.3 sdk libc++
ncnn-android-lib 是 android 的静态库(armeabi-v7a + arm64-v8a)
ncnn.framework.zip 是 ios 的静态库(armv7 + arm64 + i386 + x86_64)
openmp.framework.zip 是 ios ncnn openmp 运行时静态库(armv7 + arm64 + i386 + x86_64)