开源项目:统一,全面,高效的推荐库 — RecBole

七月在线实验室

共 3106字,需浏览 7分钟

 ·

2021-05-01 04:13

本文目录

项目一:AutoKernel  提高深度学习算法部署效率的自动算子优化工具

项目二:fire-detection-from-images  使用神经网络检测图像中的火焰

项目三:RecBole  统一,全面,高效的推荐库


AutoKernel  提高深度学习算法部署效率的自动算子优化工具

项目地址:https://github.com/OAID/AutoKernel

简介:随着人工智能的普及,深度学习网络的不断涌现,为了让各硬件(CPU, GPU, NPU,...)能够支持深度学习应用,各硬件芯片需要软件库去支持高性能的深度学习张量运算。目前,这些高性能计算库主要由资深HPC工程师(高性能计算优化工程师)进行开发,为了加快开发进程,缩短深度学习应用落地周期,自动化算子优化是一个趋势。

AutoKernel是由OPEN AI LAB提出的高性能算子自动优化工具,可以自动优化调度策略、生成底层优化代码,大幅减少各硬件芯片算子开发成本,提升算子优化效率,让工程师更快实现深度学习算法在各硬件芯片上的高性能部署。

AutoKernel架构:

50618d017164c50b46ff417286f8f597.webp

AutoKernel分为三个模块:

算子生成器:

  • 该模块使用了开源项目Halide;Halide是业界广泛使用的自动代码生成项目,它首次提出将计算和调度分离。该模块的输入是和硬件无关的算子计算描述,输出是相应后端的优化汇编代码/目标文件;

自动搜索模块:

  • 该模块可以通过最优化算法/搜索算法/机器学习/强化学习搜索出相应后端的最优算子的调度策略参数(该模块仍在开发中);

算子部署插件( AutoKernel Plugin):

  • Tengine是OPEN AILAB开源的深度学习推理框架,实现了AI算法在不同硬件的快速高效部署。该模块实现了将自动生成的优化算子代码以plugin的形式一键集成到Tengine中,实现自动优化算子的一键部署;


fire-detection-from-images 使用神经网络检测图像中的火焰

项目地址:https://github.com/robmarkcole/fire-detection-from-images

此项目的目的是演示火灾探测神经网模型。在使用中,此模型将在图像中将一个界框放在任何火周围。

826d07938fdf35db70a68ab66e9c00e7.webp

最佳效果:

  • 对象检测:在尝试了各种模型体系结构之后,我选择了Yolov5 pytorch模型,这是因为它具有SOTA(最先进的技术),相对较快的培训以及可提供良好文档并易于使用的笔记本的可用性。经过几个小时的实验,我在1155张图像(337个基本图像+增强)上训练了一个mAP @ .5为0.657,精度为0.6,召回率为0.7的模型。

  • 分类:使用ResNet50和Monk tensorflow库报告了95%的准确性。

动机和挑战:

传统的烟雾探测器通过检测烟雾颗粒的物理存在来工作。但是,它们容易被错误检测(例如,从烤面包机中检测到),并且不能很好地定位火源。在这些情况下,摄像机解决方案可以补充传统的探测器,以缩短响应时间或提供其他指标,例如火灾的大小和位置。识别出火灾的位置和性质后,可以进行自动干预,例如通过洒水系统或无人机。此外,数据也可以发送到消防部门,以提供其他情况下不存在的态势感知。我感兴趣的特定位置是:厨房和客厅,车库和附属建筑,以及可能已经发生火灾但蔓延到所需区域之外的区域,例如火坑。

数据集:

  • FireNET-大约500张带有边框的火像。包含训练有素的Yolo3模型,该模型是使用影像技术训练的,性能未知。

  • 从Kaggle上的CCTV进行火灾检测-图像和视频,图像是从视频中提取的,数据集相对较小。与当前的任务非常相关,因为有可以测试的视频。

  • cair / Fire-Detection-Image-Dataset-此数据集包含正常图像和有火的图像,并且高度不平衡,可以反映现实情况。

  • mivia火灾检测数据集-大约30视频

  • USTC烟雾检测-链接到提供烟雾视频的各种来源

  • 可以下载pyimagesearch文章中的fire/not-fire数据集。请注意,有许多火灾现场的图像不包含实际火灾,但是例如烧毁了房屋。

  • Kaggle上的FIRE数据集-755个室外火灾图像和244个非火灾图像。许多有光泽的图像,具有代表性吗?

  • Dunnings 2018研究的火灾图像数据集-PNG静止图像集

  • 用于Samarth 2019研究的消防超像素图像数据集-PNG静止图像集

  • Wildfire烟雾数据集-737带注释的(装箱的)图像


RecBole  统一,全面,高效的推荐库

项目地址:https://github.com/RUCAIBox/RecBole


RecBole 是一个基于 PyTorch 实现的,面向研究者的,易于开发与复现的,统一、全面、高效的推荐系统代码库。我们实现了72个推荐系统模型,包含常见的推荐系统类别,如:

  • General Recommendation

  • Sequential Recommendation

  • Context-aware Recommendation

  • Knowledge-based Recommendation

我们约定了一个统一、易用的数据文件格式,并已支持 28 个 benchmark dataset。用户可以选择使用我们的数据集预处理脚本,或直接下载已被处理好的数据集文件。

0b05b0abc453b9bd30149235edd2259d.webp

特色:

  • 通用和可扩展的数据结构 我们设计了通用和可扩展的数据结构来支持各种推荐数据集统一化格式和使用。

  • 全面的基准模型和数据集 我们实现了72个常用的推荐算法,并提供了28个推荐数据集的格式化副本。

  • 高效的 GPU 加速实现 我们针对GPU环境使用了一系列的优化技术来提升代码库的效率。

  • 大规模的标准评测 我们支持一系列被广泛认可的评估方式来测试和比较不同的推荐算法。

系统环境:

  • Linux

  • Windows 10

  • macOS X

RecBole需要在python 3.6或更高的环境下运行。

RecBole要求torch版本在1.6.0及以上,如果你想在GPU上运行RecBole,请确保你的CUDA版本或CUDAToolkit版本在9.2及以上。这需要你的NVIDIA驱动版本为396.26或以上(在linux系统上)或者为397.44或以上(在Windows10系统上)。



回顾精品内容

推荐系统

1、干货 | 基于用户的协同过滤推荐算法原理和实现

2、超详细丨推荐系统架构与算法流程详解

3、推荐 :一文从0到1掌握用户画像知识体系

机器学习

1、从小白到大师:一文Get决策树的分类与回归分析

自然语言处理(NLP)

1、AI自动评审论文,CMU这个工具可行吗?我们用它评审了下Transformer论文

2、Transformer强势闯入CV界秒杀CNN,靠的到底是什么"基因"

计算机视觉(CV)

1、9个小技巧让您的PyTorch模型训练装上“涡轮增压”...

GitHub开源项目:

1、火爆GitHub!3.6k Star,中文版可视化神器现身

2、两次霸榜GitHub!这个神器不写代码也可以完成AI算法训练

3、登顶GitHub大热项目 | 非监督GAN算法U-GAT-IT大幅改进图像转换

每周推荐:

1、本周优秀开源项目分享:无脑套用格式、开源模板最高10万

2、【干货】本周AI领域优秀开源项目和优秀论文分享!

七月在线学员面经分享:

1、先工程后算法:美国加州材料博后辞职到字节40万offer

2、 双非应届生拿下大厂NLP岗40万offer:面试经验与路线图分享

3、转行NLP拿下40万offer:分享我面试中遇到的54道面试题(含参考答案

浏览 113
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报