ONNX

YOLOV3剪枝源码阅读---模型部署加速

被刻印的时光 ゝ 提交于 2020-08-13 09:49:13
YOLOV3剪枝 论文:Network Slimming-Learning Efficient Convolutional Networks through Network Slimming 剪枝项目参考 https://github.com/tanluren/yolov3-channel-and-layer-pruning 主要思路 1、利用batch normalization中的缩放因子γ 作为重要性因子,即γ越小,所对应的channel不太重要,就可以裁剪(pruning)。 2、约束γ的大小,在目标方程中增加一个关于γ的L1正则项,使其稀疏化,这样可以做到在训练中自动剪枝,这是以往模型压缩所不具备的。 剪枝过程 img 这里写图片描述 分为三部分,第一步,训练;第二步,剪枝;第三步,微调剪枝后的模型,循环执行 YOLOV3剪枝源码 1、正常剪枝 这部分分析来自该仓库 https://github.com/coldlarry/YOLOv3-complete-pruning ,但是更新的仓库也可以完成正常剪枝,prune.py。 使用了正常剪枝模式,不对short cut层(需要考虑add操作的维度一致问题)及上采样层(无BN)进行裁剪。 1、找到需要裁剪的BN层的对应的索引。 2、每次反向传播前,将L1正则产生的梯度添加到BN层的梯度中。 3、设置裁剪率进行裁剪。

NeoML:用于构建,训练和部署机器学习模型的开源库

半世苍凉 提交于 2020-08-12 15:18:21
ABBYY推出了NeoML,这是一个用于构建,培训和部署机器学习模型的开源库。NeoML 现已发布到GitHub(https://github.com/neoml-lib),支持深度学习和传统机器学习算法。 跨平台框架针对在云环境,台式机和移动设备上运行的应用程序进行了优化。较高的推理速度与平台独立性的结合使该库成为需要无缝客户体验和设备上数据处理的移动解决方案的理想选择。 开发人员可以使用NeoML来构建,训练和部署用于对象识别,分类,语义分段,验证和预测建模的模型,以实现各种业务目标。例如,银行可以开发模型来管理信用风险并预测客户流失,电信公司可以分析营销活动,零售和快速消费品(F MCG)的表现,可以通过面部识别和数据验证来建立远程客户识别。该框架的主要优势之一是其对可用云资源的有效利用。 NeoML被设计为一种通用工具,用于处理和分析各种格式的数据,包括文本,图像,视频和其他格式。它支持C ++,Java和Objective-C编程语言; Python将很快添加。 NeoML的神经网络模型支持100多种层类型。它还提供20多种传统ML算法,例如分类,回归和聚类框架。该库是完全跨平台的-可在包括Windows,Linux,macOS,iOS和Android在内的所有流行操作系统上运行的单一代码库-并且针对CPU和GPU处理器进行了优化。 “

onnx模型推理(python)

不想你离开。 提交于 2020-08-11 22:34:39
onnx模型推理(python) 以下ONNX一个检测模型的推理过程,其他模型稍微修改即可 # -*-coding: utf-8 -*- import os, sys sys.path.append(os.getcwd()) import onnxruntime import onnx class ONNXModel(): def __init__(self, onnx_path): """ :param onnx_path: """ self.onnx_session = onnxruntime.InferenceSession(onnx_path) self.input_name = self.get_input_name(self.onnx_session) self.output_name = self.get_output_name(self.onnx_session) print("input_name:{}".format(self.input_name)) print("output_name:{}".format(self.output_name)) def get_output_name(self, onnx_session): """ output_name = onnx_session.get_outputs()[0].name :param onnx

TypeError: __init__() got an unexpected keyword argument ¨serialized_options¨

安稳与你 提交于 2020-08-10 06:48:40
TypeError: __init__() got an unexpected keyword argument 'serialized_options' TypeError: __init__() got an unexpected keyword argument 'serialized_options' 这是由于包版本和python版本不匹配导致的 导入哪个包报这个错,就升级那个包,运行语句如下: pip install -U 包名 例如:pip install -U onnx 原文链接:https://blog.csdn.net/u012135425/article/details/102816487 来源: oschina 链接: https://my.oschina.net/u/4335918/blog/4295392

比GPU性能提升5倍阿里云含光800云服务器正式商用

空扰寡人 提交于 2020-08-09 18:49:31
含光800云服务器,配备阿里平头哥自研神经网络加速芯片含光800,提供全球最高单芯片AI推理性能,有着同类处理器的数十倍性能;并针对业务场景做了深度优化,广泛适用于图像搜索、场景识别、视频内容识别、自然语言处理等业务,为客户提供超高性价比的推理解决方案。 阿里云城市大脑交通信号机系统使用含光800服务器处理车辆检测、品牌识别、车牌识别等算法模型,单张含光800全链路能够支持100路实时视频的分析和特征结构化数据的提取,相比GPU性能提升超过5倍。 阿里电商平台合规经营也在含光800云服务器上建立了多维度全方位的风险识别机制。在同样的算法精度下,性价比是GPU的4倍。 据悉,含光云服务器还基于阿里云自研的神龙云服务器架构,为用户提供弹性裸金属加速实例,兼顾了物理服务器的功能性能优势,以及云计算的高可用优势。开发工具采用阿里平头哥HGAI自动化开发工具,支持主流深度学习框架TensorFlow、Caffe、MXNet和ONNX。 今年3月,阿里云飞天AI加速引擎AIACC与含光800的组合,打败了Google,拿下了斯坦福大学DAWNBench ImageNet推理成本的世界第一,能效比达500IPS/W,是第二名的3.3倍。 AIACC是业界首次统一加速Tensorflow、PyTorch、MXNET、Caffe等主流开源框架的性能加速引擎,AIACC

人脸识别漏洞频出?这里有个开源静默活体检测算法,超低运算量、工业级可用

只愿长相守 提交于 2020-07-28 13:12:16
小视科技团队开源的基于 RGB 图像的活体检测模型,是专门面向工业落地场景,兼容各种复杂场景下的模型。该自研的剪枝轻量级模型,运算量为 0.081G,在麒麟 990 5G 芯片上仅需 9ms。同时基于 PyTorch 训练的模型能够灵活地转化成 ONNX 格式,实现全平台部署。 机器之心发布,机器之心编辑部。 如今,人脸识别已经进入我们生活中的方方面面:拿起手机扫脸付账、完成考勤、入住酒店等,极大地便利了我们的生活。 我们在享受技术带来方便的同时,也要应对其潜在的风险。一旦虚假人脸攻击成功,极有可能对用户造成重大损失。 如 2019 年,在拉斯维加斯举办的世界黑帽(Black Hat)安全大会上,腾讯公司的研究人员就曾演示用一副特制眼镜攻破苹果 Face ID。 更早之前,也有人曾使用 3D 打印「石膏」人脸攻击手机的人脸识别功能,成功破解多款人脸识别解锁功能。 图片来源:Forbes 为了抵御这种假脸攻击,小视科技团队开源了一个静默活体检测算法和可适用于安卓平台的部署源码,可兼容各种工业级复杂场景的活体检测。 静默活体检测算法项目地址: https:// github.com/minivision-a i/Silent-Face-Anti-Spoofing 安卓平台部署源码项目地址: https:// github.com/minivision-a i/Silent-Face

腾讯优图开源深度学习推理框架TNN,助力AI开发降本增效

陌路散爱 提交于 2020-07-27 09:45:12
送 Doris 限量T恤,快来围观!>>> 从学界到工业界, “ 开源 ” 已经成为AI领域的一个关键词。一方面,它以 “ 授人以渔 ” 的方式为AI构建了一个开放共进的生态环境,帮助行业加速AI应用落地;另一方面,在解决行业实际问题时持续更新和迭代,源源不断地给AI领域输送重要的技术养料和创造力,可以说开源是AI落地和繁荣不可或缺的源动力。 6月1 0 日,腾讯优图实验室宣布正式开源新一代移动端深度学习推理框架 TNN ,通过底层技术优化实现在多个不同平台的轻量部署落地,性能优异、简单易用。基于TNN,开发者能够轻松将深度学习算法移植到手机端高效的执行,开发出人工智能 APP,真正将 AI 带到指尖。 轻量级部署,TNN助力深度学习提速增效 深度学习对算力的巨大需求一直制约着其更广泛的落地,尤其是在移动端,由于手机处理器性能弱、算力无法多机拓展、运算耗时长等因素常常导致发热和高功耗,直接影响到app等应用的用户体验。腾讯优图基于自身在深度学习方面的技术积累,并借鉴业内主流框架优点,推出了针对手机端的高性能、轻量级移动端推理框架TNN。 TNN在设计之初便将移动端高性能融入核心理念,对2017年开源的ncnn框架进行了重构升级。通过GPU深度调优、ARM SIMD深入汇编指令调优、低精度计算等技术手段,在性能上取得了进一步提升。以下是M NN, ncnn, TNN

How do you convert a .onnx to tflite?

限于喜欢 提交于 2020-06-10 12:32:31
问题 I've exported my model to ONNX via: # Export the model torch_out = torch.onnx._export(learn.model, # model being run x, # model input (or a tuple for multiple inputs) EXPORT_PATH + "mnist.onnx", # where to save the model (can be a file or file-like object) export_params=True) # store the trained parameter weights inside the model file And now I am trying to convert the model to a Tensorflow Lite file so that I can do inference on Android. Unfortunately, PyTorch/Caffe2 support is fairly

How do you convert a .onnx to tflite?

流过昼夜 提交于 2020-06-10 12:32:04
问题 I've exported my model to ONNX via: # Export the model torch_out = torch.onnx._export(learn.model, # model being run x, # model input (or a tuple for multiple inputs) EXPORT_PATH + "mnist.onnx", # where to save the model (can be a file or file-like object) export_params=True) # store the trained parameter weights inside the model file And now I am trying to convert the model to a Tensorflow Lite file so that I can do inference on Android. Unfortunately, PyTorch/Caffe2 support is fairly

How to set environment variable TF_Keras = 1 for onnx conversion?

南笙酒味 提交于 2020-05-15 04:23:35
问题 Recently updated to tensorflow 2.0 and am having trouble getting my .h5 models into .onnx . Used to be a very simple procedure but now I am having an issue. When I run the following code: # onnx testing import onnx import keras2onnx import os import tensorflow as tf from tensorflow.keras.models import load_model folder = r'\\rdnas' os.chdir(folder) #os.environ["TF_KERAS"]='1' model_loc = folder+'\\model.h5' model = tf.keras.models.load_model(model_loc) model.summary() # Onnx covnersion onnx