ImJoy

ImJoy是一个由插件驱动的混合计算平台,用于部署深度学习应用程序,例如高级图像分析工具。


ImJoy在跨不同操作系统的移动和桌面环境上运行,插件可以在浏览器,本地主机,远程和云服务器上运行。


借助ImJoy,得益于其灵活的插件系统和可共享的插件URL,向最终用户交付深度学习工具变得非常容易。开发人员可以轻松地将丰富的交互式Web界面添加到现有的Python代码中。


【干货】本周AI领域优秀开源项目分享!_java


主要特征:

1、最小且灵活的插件式Web应用程序;

2、具有脱机支持的无服务器渐进式Web应用程序;

3、支持移动设备;


4、基于Web技术的交互式的富用户界面;

使用任何现有的网页设计库;

使用webGL,Three.js等在3D中渲染多维数据。


5、易于使用的工作流程组成;

6、用于对插件进行分组的隔离工作区;


7、独立的插件原型开发;

内置代码编辑器,无需额外的IDE即可进行开发;


8、功能强大且可扩展的计算后端,适用于浏览器,本地和云计算;

支持Javascript,本机Python和Web Python

通过异步编程并发执行插件

使用Webassembly在浏览器中运行Python插件

浏览器插件与安全沙箱隔离

支持Python3和Javascript的异步/等待语法

支持Conda虚拟环境和适用于Python的pip软件包

Github或CDN上托管的JavaScript支持库

通过GitHub或Gist轻松部署和共享插件

将自己的插件存储库部署到Github


9、对n维数组和张量的本机支持;

支持Numpy的ndarrays进行数据交换


ImJoy极大地加快了新工具的开发和传播。您可以在ImJoy中开发插件,将插件文件部署到Github,并通过社交网络共享插件URL。然后,用户只需单击一下就可以使用它,甚至在手机上也可以。



项目地址:

https://github.com/oeway/ImJoy


02

 model-compression

"目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派为工程派,旨在将算法更稳定、高效的落地在硬件平台上,效率是其追求的目标。


复杂的模型固然具有更好的性能,但是高额的存储空间、计算资源消耗是使其难以有效的应用在各硬件平台上的重要原因。


所以,卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,深度学习模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一"。


项目简介:


基于pytorch实现模型压缩(1、量化:8/4/2 bits(dorefa)、三值/二值(twn/bnn/xnor-net);2、剪枝:正常、规整、针对分组卷积结构的通道剪枝;3、分组卷积结构;4、针对特征A二值的BN融合)


目前提供:


1、普通卷积和分组卷积结构;


2、权重W和特征A的训练中量化, W(32/8/4/2bits, 三/二值) 和 A(32/8/4/2bits, 三/二值)任意组合;


3、针对三/二值的一些tricks:W二值/三值缩放因子,W/grad(ste、saturate_ste、soft_ste)截断,W三值_gap(防止参数更新抖动),W/A二值时BN_momentum(<0.9),A二值时采用B-A-C-P可比C-B-A-P获得更高acc;


4、多种剪枝方式:正常剪枝、规整剪枝(比如model可剪枝为每层剩余filter个数为N(8,16等)的倍数)、针对分组卷积结构的剪枝(剪枝后仍保证分组卷积结构);


5、batch normalization的融合及融合前后model对比测试:普通融合(BN层参数 —> conv的权重w和偏置b)、针对特征A二值的融合(BN层参数 —> conv的偏置b);


代码结构:


【干货】本周AI领域优秀开源项目分享!_java_02


项目地址:

https://github.com/666DZY666/model-compression


03

 volcano

Volcano是建立在Kubernetes上的批处理系统。它提供了许多种类的批处理和弹性工作负载常用的一整套机制,包括:机器学习/深度学习,生物信息学/基因组学和其他“大数据”应用程序。


这些类型的应用程序通常在与Tencan集成的TensorFlow,Spark,PyTorch,MPI等通用域框架上运行。


Volcano拥有十五年使用经验,使用多个系统和平台大规模运行各种高性能工作负载,并结合了开源社区的最佳创意和实践。


Volcano整体架构:


【干货】本周AI领域优秀开源项目分享!_java_03


生态环境:


Horovod/MPI

kubeflow/tf-operator

kubeflow/arena

paddlepaddle

spark-operator

cromwell


项目地址:

https://github.com/volcano-sh/volcano


04  TensorRT 姿态估计

该项目具有NVIDIA TensorRT加速的多实例姿势估计功能。它是需要低延迟的应用的理想选择。


这包括:


训练脚本以MSCOCO格式对任何关键任务数据进行训练;

可以使用TensorRT轻松优化的模型集合;


此项目可以轻松用于人体姿势估计任务,也可以扩展到新的方向。


【干货】本周AI领域优秀开源项目分享!_java_04

该任务涉及使用在MSCOCO数据集上训练的模型来检测人体姿势。


以下是在MSCOCO数据集上经过预训练的模型。显示了每个平台的FPS吞吐量:


【干货】本周AI领域优秀开源项目分享!_java_05


要在实时相机输入上运行实时Jupyter Notebook演示,请按照以下步骤操作:


将下载的权重放置在task / human_pose目录中;

打开并运行live_demo.ipynb笔记本;