Fork me on GitHub

AI 开源项目精选 | 基于 pytroch 的 ORC 算法库及 python 高性能 CPU 分析等

文末免费送电子书:七月在线干货组最新 升级的《名企AI面试100题》免费送!

本书涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向 (CV、NLP、推荐 、⾦融风控)等五⼤章节。


项目一:pytorchOCR — 基于pytorch的ocr算法库

在这里插入图片描述

已完成模型:

  • DBnet
  • PSEnet
  • PANnet
  • SASTnet
  • CRNN

检测模型效果:训练只在ICDAR2015文本检测公开数据集上
在这里插入图片描述
模型压缩剪枝效果:

这里使用mobilev3作为backbone,在icdar2015上测试结果,未压缩模型初始大小为2.4M.

1 . 对backbone进行压缩
在这里插入图片描述
2 . 对整个模型进行压缩
在这里插入图片描述
模型蒸馏:
在这里插入图片描述
项目地址:

https://github.com/BADBADBADBOY/pytorchOCR


项目二:clothing-dataset — 服装数据集

超过5000张图片,20个不同类别。
在这里插入图片描述
此数据集可自由用于任何目的,包括商业:例如:

  • 创建教程或课程(免费或付费)
  • 写一本书
  • Kaggle竞赛(作为外部数据集)
  • 在任何公司培训内部模型

数据文件images.csv包括:

  • image - 图像的 ID(使用它从images/.jpg加载图像)
  • sender_id - 贡献图像的人的 ID
  • label - 图像的类
  • kids - 标记为“true”,说明它是孩子们的衣服

项目地址:

https://github.com/wbj0110/clothing-dataset


项目三:weibo-public-opinion-datasets — 持续维护的微博舆情数据集

新浪微博是中国最大的公共社交媒体平台。最新、最受欢迎的社交活动将尽快在微博上披露和讨论。因此,构建实时、全面的微博民意数据集具有十分重要的意义。

目前,在指定的关键字和指定期限内,构建微博推文数据集的方法有两种:

(1)应用微博给出的高级搜索API:

(2) 浏览所有微博用户,在指定时间段内收集所有推文,然后使用指定的关键字过滤推文。

然而,对于第一种方法,由于微博搜索API的限制,一次性搜索的结果包含多达1000条推文,使得构建大规模数据集变得困难。至于第二种方法,虽然我们可以构建大型数据集,几乎没有遗漏,但穿越所有数十亿的微博用户需要很长的时间和大量的带宽资源。此外,大量微博用户处于非活动状态,浏览其主页是没有意义的,因为他们不得在指定时间段内发布任何推文。
在这里插入图片描述
为了缓解这些局限性,我们提出了一种构建微博微博数据集的新方法,可以构建具有高建设效率的大型数据集。具体来说,我们首先构建并动态维护一个高基质微博活动用户池(只是所有用户的一小部分),然后我们只浏览这些用户,并在指定期间使用指定的关键字收集他们所有的推文。

基于种子用户和通过社会关系的持续扩展,我们首先建立了一个包含超过2.5亿用户的微博用户库。活动微博用户池基于微博用户池构建,遵循 4 条规则
在这里插入图片描述
最后,我们构建了一个拥有2000万用户的微博活跃用户库,占微博用户总数的8%。

项目地址:

https://github.com/nghuyong/weibo-public-opinion-datasets


项目四:scalene — Python 的高性能 CPU 内存分析器

Scalene 是一个 Python 的高性能 CPU 和 内存分析器,它可以做到很多其他Python分析器不能做到的事情。它在能提供更多详细信息的同时,比其他的分析器要快几个数量级。

Scalene 是 很快的。它使用采样的方式而不是直接测量或者依靠Python的追踪工具。它的开销一般不超过10-20% (通常更少)。

Scalene 是 精确的。和大部分其他的Python分析器不同,Scalene 在 行级别 下执行CPU分析,在你的程序中指出对应代码行的执行时间。和大多数分析器所返回的功能级分析结果相比,这种程度的细节可能会更有用。

Scalane 可以区分在Python中运行的时间和在native代码(包括库)中花费的时间。大多数的Python程序员并不会去优化native代码(通常在Python实现中或者所依赖的外部库),所以区分这两种运行时间,有助于开发者能够将优化的工作专注于他们能够实际改善的代码上。

Scalene 可以 分析内存使用情况。除了追踪CPU使用情况,Scalene还指出对应代码行的内存增长。这是通过指定内存分配器来实现的。

Scalene 会生成 每行 的内存分析,以此更容易的追踪内存泄露。

Scalene 会分析 内存拷贝量, 从而易于发现意外的内存拷贝。特别是因为跨越Python和底层库的边界导致的意外 (例如:意外的把 numpy 数组转化成了Python数组,反之亦然)。

功能比较分析:
在这里插入图片描述
项目地址:

https://github.com/plasma-umass/scalene


项目五:SDV — 用于表格、关系和时间系列数据的合成数据生成

Synthetic Data Vault (SDV) 是一个合成数据生成生态系统库,允许用户轻松学习单表、多表和时间系列数据集,以便日后生成与原始数据集具有相同格式和统计属性的新合成数据。

然后,合成数据可用于补充、增强,在某些情况下,在训练机器学习模型时替换真实数据。此外,它还允许对机器学习或其他数据依赖软件系统进行测试,而不会面临数据披露带来的暴露风险。

项目使用几个概率图形建模和基于深度学习的技术。为了实现各种数据存储结构,我们采用独特的分层生成建模和递归采样技术。

当前功能和特定:

具有以下功能的单台合成数据生成器:

  • 使用基于科普拉斯和深度学习的模型。
  • 以最少的用户输入处理多个数据类型和缺失数据。
  • 支持预定义和自定义约束和数据验证。
  • 合成数据生成器,用于复杂的多表、关系数据集,具有以下功能:
  • 使用自定义和灵活的 JSON 模式定义整个多表数据集元数据集 。
  • 使用科普拉斯和递归建模技术。
  • 合成数据生成器,用于多类型、多变型时间系列,具有以下功能:
  • 使用统计、自动回归和深度学习模型。
  • 基于上下文属性的有条件采样。

项目地址:

https://github.com/sdv-dev/SDV


项目六:TensorflowASR — 集成Tensorflow 2版本的端到端语音识别模型

参照librosa库,用TF2实现了语音频谱特征提取的层,这样在跨平台部署时会更加容易。

快速使用:

  • 下载预训练模型,修改 am_data.yml/lm_data.yml
    里的目录参数(running_config下的outdir参数),并在修改后的目录中添加 checkpoints 目录,
  • 将model_xx.h5(xx为数字)文件放入对应的checkpoints目录中,
  • 修改run-test.py中的读取的config文件(am_data.yml,model.yml)路径,运行run-test.py即可。

C++的demo已经提供。测试于TensorflowC 2.3.0版本

项目地址:

https://github.com/Z-yq/TensorflowASR


**帮助数千人成功上岸的《名企AI面试100题》书,电子版,限时免费送,评论区回复“100题”领取!**

本书涵盖计算机语⾔基础、算法和⼤数据、机器学习、深度学习、应⽤⽅向 (CV、NLP、推荐 、⾦融风控)等五⼤章节,每⼀段代码、每⼀道题⽬的解析都经过了反复审查或review,但不排除可能仍有部分题⽬存在问题,如您发现,敬请通过官⽹/APP七月在线 - 国内领先的AI职业教育平台 (julyedu.com)对应的题⽬页⾯留⾔指出。

为了照顾⼤家去官⽹对应的题⽬页⾯参与讨论,故本⼿册各个章节的题⽬顺序和官⽹/APP题库内的题⽬展⽰顺序 保持⼀致。 只有100题,但实际笔试⾯试不⼀定局限于本100题,故更多烦请⼤家移步七⽉在线官⽹或 七⽉在线APP,上⾯还有近4000道名企AI笔试⾯试题等着⼤家,刷题愉快。
在这里插入图片描述


本文地址:https://www.6aiq.com/article/1629225806977
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出