Ncnn Versions Save

ncnn is a high-performance neural network inference framework optimized for the mobile platform

20201208

3 years ago

编译版本,默认配置,android-ndk-r21d,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) glslang.framework.zip 是 ios ncnn glslang 运行时静态库(arm64 + x86_64)

新增Mat pixel affine任意角度旋转平移缩放函数 新增两组点计算warpaffine矩阵和逆变换函数 x86 SSE2的pack4架构更新和一些优化,包括BatchNorm/Bias/BinaryOp/Clip/Concat/Convolution/ConvolutionDepthWise/Dropout/Eltwise/Flatten/HardSigmoid/HardSwish/Innerproduct/Mish/Padding/Pooling/PReLU/ReLU/Scale/Sigmoid/Swish/TanH(PENGUINLIONG) 在支持vulkan 1.1驱动上自动检测subgroup信息 新增跨平台类thread-local-storage 新增simpleomp,实现最少的llvm openmp abi运行函数 新增获取cpu大小核信息的get_little_cpu_count()和get_big_cpu_count()(zchrissirhcz) 新增softplus层实现和onnx转换(ncnnnnn) 支持Apple M1芯片 支持Open Harmony OS(zchrissirhcz) Concat/Slice/Softmax支持axis负数的参数(Ca0L) 新增NCNN_SSE2编译选项,可完全禁用x86和webassembly的SIMD优化 一些通用的x86 Convolution AVX2性能优化(zhiliu6) vulkan支持Crop和Padding一维和二维blob 新增keras2ncnn模型转换工具(MarsTechHAN) Interp支持align_corner=True并支持onnx Resize转换(maxfy1992) 新增yolov5例子(Zhengtq) 新增nanodet例子 vulkan image storage shader统一使用image3d存储类型 禁用NCNN_THREADS时的NCNN_XADD实现 老旧adreno驱动不再启用image类型,修复gpu推理错误 去除ncnnoptimize过时的aarch64自动调优和相关文档 ncnnoptimize合并Reduction为Global Pooling ncnnoptimize替换单系数PReLU为Leaky ReLU ncnnoptimize清理broadcasting BinaryOp前的冗余Expand ncnnoptimize在shape推断后输出MAC和预计的内存足迹 有关opencv-mat转换和旋转文档的错误修正(ncnnnnn) 修正arm82 fp16s crop一维和二维错误的问题 Extractor::extract 支持第三个flag参数避免layout和存储类型转换(MarsTechHAN) abs()替换为fabs()(zchrissirhcz) 大量的编译器警告修复(proydakov, ncnnnnn, zchrissirhcz, pH5) ncnn可在c++03标准下编译 修复c++14标准的编译问题(nullptr-leo) 修复NCNN_PIXEL关闭时的编译(tpoisonooo, nullptr-leo) 修复protobuf旧版本编译错误(deepage) cmake开关NCNN_OPENCV更名为NCNN_SIMPLEOCV 修正yolact例子的颜色越界(zchrissirhcz) onnx2ncnn支持Max Min Pow与常数的转换 onnx2ncnn支持Pad channel参数 onnx2ncnn MatMul转换支持其中一个为MemoryData输入 修正onnx2ncnn Slice参数转换溢出的问题 修正onnx2ncnn和ncnnoptimize的groupnorm转换 mlir2ncnn适配新mlir api mlir2ncnn合并keras风格的batchnorm和instancenorm FAQ新增windows dll卸载崩溃的解决方案(qiqikit) 新增最小化编译ncnn二进制包的中文英文文档(songqun) 新增openmp最佳实践文档(youzainn) 改善编译步骤文档(baryluk) 一些文档和代码注释的拼写错误修正(HollowMan6, Zhengtq) 算子文档更新(xingxingRealzyx, LosReturn, Ca0L) 新增有关convertmodel.com的信息(daquexian) ci新增webassembly-nosimd和webassembly-simpleomp编译 ci新增android ndk-r16b编译 ci新增vs2017 cpu gpu编译 ci新增macos arm64编译 ci新增codeql分析

20200916

3 years ago

编译版本,默认配置,android-ndk-r21d,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) glslang.framework.zip 是 ios ncnn glslang 运行时静态库(arm64 + x86_64)

armv8.2 fp16s/fp16sa优化,包括batchnorm/binaryop/clip/convolution/convolutiondepthwise/deconvolution/deconvolutiondepthwise/eltwise/flatten/hardsigmoid/hardswish/innerproduct/interp/mish/packing/padding/pooling/prelu/relu/reshape/shufflechannel/sigmoid/slice/swish/tanh/unaryop以及对应的pack8优化实现 默认启用fp16计算功能 Mat from_pixels/from_pixels_resize接受ROI参数实现crop+resize 更精细的cpu绑定接口 新增gemm 新增groupnorm,支持pytorch groupnorm转换 新增layernorm 无affine的instancenorm/groupnorm ncnnoptimize最后的flag设1表示转fp16模型(by zchrissirhcz) simplestl新增list实现,完全去除libstdc++依赖(by nullptr-leo) 开放glsl编译spirv接口 interp允许接受第二个blob作为参考size packing 遵守线程数设置 windows上寻找vulkan-sdk时给出提示信息(by zchrissirhcz) yolov3detectionoutput层avx优化(by zhiliu6) mxnet reduction 参数兼容数组和单个数字 ncnnoptimize自动合并binaryop-with-scalar 修正opencv 2.x/4 编译问题(by zchrissirhcz) 修复resize_bilinear_c4可能的crash 修正开启bf16s时extract可能没有转回fp32的问题 修正老编译器UINT64_MAX编译错误(by ncnnnnn) 修正vulkan conv1x1s1 pack1计算错误 修正onnx2ncnn在转换resize时可能的crash load_param_mem的参数必须以\0结尾 更新mlir tf2 dialect mlir2ncnn转换tf.Maximum/tf.Minimum/tf.ResizeBilinear mlir2ncnn合并instancenorm mlir2ncnn合并keras风格的Conv2d/Dense 修正yolov4例子bgr2rgb(by MarsTechHAN and qaz734913414) 修正darknet maxpool padding size转换(by ruru5697) ncnn cmake target自动依赖glslang(by youzainn) 修正powerpc64编译问题,绕过interp altivec优化bug 修正armv7带stride参数from_pixels bus error 单元测试新增mat pixel resize 默认不编译ncnn单元测试(by caishanli) ci最低编译环境为ubuntu-16.04,c++03 添加telegram群聊(by zchrissirhcz)

20200727

3 years ago

编译版本,默认配置,android-ndk-r21d,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) glslang.framework.zip 是 ios ncnn glslang 运行时静态库(armv7 + arm64 + i386 + x86_64)

x86 avx优化,包括batchnorm/bias/binaryop/cast/clip/concat/convolution/convolutiondepthwise/crop/dropout/eltwise/flatten/hardsigmoid/hardswish/innerproduct/lrn/lstm/mish/packing/padding/pooling/prelu/relu/reshape/scale/sigmoid/slice/swish/tanh以及对应的pack8优化实现(by Timen) arm lstm neon优化(by Timen) 附带中间状态输入输出的lstm(by Timen) 使用在线pipeline缓存大幅优化gpu推理的模型加载效率,默认启用 使用gpu推理时自动创建instance 全局开启armv8.2和avx编译,运行时判断cpu特性使用不同的优化代码 C api 上层封装和squeezenet_c_api例子 降低摄像头循环调用ncnn时openmp线程的cpu负载 新增darknet2ncnn教程,yolov4-tiny(by zhiliu6) mlir2ncnn模型转换工具,可以转换常用分类模型/pix2pi2 修正use_packing_layout/use_bf16_storage选项打开时,int8推理错误 修正当输出层支持bf16s时,没有转换为fp32的错误 修正gpu out of allocator错误 onnx shufflechannel兼容megvii写法 改善onnx slice转换兼容性 改善onnx resize转换兼容性 改善onnx simplified后的normalize转换兼容性 改善reshape nhwc的兼容性 修正deconvolution output shape和padding的处理 修复conv3x3s1 pack1to4 bf16s计算错误 修正tanh mips计算错误 修正输入一维数据和mish激活时convolution计算错误 修正interp nearest计算错误 绕过nvidia显卡上normalize/softmax计算错误 绕过nvidia显卡上padding reflect计算错误 去掉priorbox fp16s的绕过手段 绕过qcom adreno老驱动winograd计算错误的问题 ios打包glslang ci增加squeezenet/mat_pixels_rotate ci新增riscv32/riscv64/mips32/mips64,包括riscv-v扩展和mips-msa扩展 新增yolov4例子(by zhiliu6) FAQ新增jpg解码和resize章节(by zchrissirhcz) benchmark新增jstson agx(by zineos)

20200616

3 years ago

编译版本,默认配置,android-ndk-r21d,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)

adreno gpu image存储+fp16p/fp16s/fp16pa/fp16sa优化,在qcom855之前的高通芯片上默认启用,包括全部gpu shader 新增darknet转换器,支持yolov4和efficientnetb0-yolov3(by zhiliu6) 新增simplestl,可替代std::string/std::vector,默认不启用(by scarsty) 新增NCNN_LOGE宏,android自动在adb logcat输出信息(by maxint) 运行时生成spirv,大幅减小gpu库体积 新增python绑定链接 新增查询当前可用gpu显存接口 gpu fp16/fp32转换,buffer/image转换,全部融合入packing层 gpu device级别复用packing/unpacking管线 3d padding,新增blazeface benchmark(by Timen) 新增yuv420sp2rgbhalf快速实现(by tpoisonooo) interp pack4 bf16s bf16s-pack4 neon优化 改善fbnetv2 hardsigmoid hardswish识别转换 修复ncnn作为sub project编译问题(by MarisaKirisame) 修复int8 pooling(by yx9527) 修复innerproduct arm sigmoid缺失的问题 修复mxnet slice None转换crop错误(by ddddwee1) 新增mish层(by zhiliu6) 新增swish层(by zhiliu6) 改善roialign detectron2转换兼容性(by wkcn) 新增语音相关的statisticspooling层(by Wang-Charles) 新增deepcopy工具层 改善mxnet gluon导出list类型参数的转换(by papercatnku) 改善onnx swish识别转换 更稳定的arm tanh_ps优化实现 cast bfloat16/float32转换的avx优化(by Timen) ncnnoptimize合并scalar binaryop,包括sub/div ncnnoptimize合并weighted sum ncnnoptimize合并convolution + mish(by zhiliu6) 修正binaryop gpu special type 2/4的传播条件 修正ncnn2mem输出param.bin文件路径(by GuoxiaWang) 修复设置cpu affinity mask时可能的越界错误 修复老旧adreno/mali驱动image存储crash的问题 修复多国语系中param加载错误的问题 修复gpu convolution winograd在有shape hint时crop错误的问题 检查copy_cut_border参数(by tpoisonooo) 修正quantize文档的小错误(mengfu188) 树莓派4b benchmark(by elejke) qcom865开启fp16计算功能 mali-t880/g51/g52/g71/g72开启fp16计算功能 更新qcom810/qcom660/qcom835/qcom855+/kirin970 benchmark数据 统一code style 单元测试新增全部op的image存储变种 github自动识别comp为GLSL 修复旧版vulkan-sdk编译(by xfan1024) ios编译bitcode和native两种版本

20200413

4 years ago

编译版本,默认配置,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实例分割例子

20200226

4 years ago

编译版本,默认配置,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修复

20200106

4 years ago

编译版本,默认配置,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

20191113

4 years ago

编译版本,默认配置,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预编译库

20190908

4 years ago

编译版本,默认配置,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工程

20190611

4 years ago

编译版本,默认配置,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 算子融合