项目简介
Magika 是一款新颖的 AI 支持的文件类型检测工具,它依靠深度学习的最新进展来提供准确的检测。在底层,Magika 采用了定制的、高度优化的 Keras 模型,该模型仅重约 1MB,即使在单个 CPU 上运行,也能在几毫秒内实现精确的文件识别。
在对超过 100 万个文件和超过 100 种内容类型(涵盖二进制和文本文件格式)的评估中,Magika 实现了 99% 以上的精确度和召回率。Magika 被大规模使用,通过将 Gmail、云端硬盘和安全浏览文件路由到适当的安全和内容策略扫描仪,帮助提高 Google 用户的安全。
您可以使用我们的网络演示来尝试 Magika,无需任何任何操作,该演示在您的浏览器中本地运行!
以下是 Magika 命令行输出的示例:
![](http://mmbiz.qpic.cn/sz_mmbiz_png/BOAjv711EFjLJOHjA2iaCzDWSnomgdG7qXop2TQnGDpibuCrQq88Cr0gXrZZeGnEQCRickhO0myE2X2TrrJkETq9w/640?wx_fmt=png&from=appmsg)
有关更多背景信息,您可以阅读我们在 Google OSS 博客上发布的最初公告
特点
可作为 Python 命令行、Python API 和实验性 TFJS 版本(为我们的 Web 演示提供支持)。
在包含 100 多种内容类型的超过 2500 万个文件的数据集上进行了训练。
根据我们的评估,Magika 的平均精确度和召回率达到 99% 以上,优于现有方法。
超过 100 种内容类型(查看完整列表)。
模型加载后(这是一次性开销),每个文件的推理时间约为 5 毫秒。
批处理:您可以同时向命令行和API传递多个文件,Magika将使用批处理来加快推理时间。您甚至可以同时调用 Magika 数千个文件。您还可以使用 -r
递归扫描目录。
接近恒定的推理时间,与文件大小无关;Magika 仅使用文件字节的有限子集。
Magika 使用每个内容类型的阈值系统来确定是否“信任”模型的预测,或者是否返回通用标签,例如“通用文本文档”或“未知二进制数据”。
支持三种不同的预测模式,可调整错误容限: high-confidence
、 medium-confidence
和 best-guess
。
它是开源的!(还有更多的事情即将发生。)
有关更多详细信息,请参阅 python 包 (dev docs) 和 js 包 (dev docs) 的文档。
https://github.com/google/magika
关注「GitHubStore」公众号
扫一扫以下微信
1 加入技术交流群,备注「开发语言-城市-昵称」
![](http://mmbiz.qpic.cn/sz_mmbiz_jpg/BOAjv711EFhKkcwRjb1iblY020vNxfWozW4AwzW5micRdC9A5T5jjy9SkUYyqtJG5NRMYVFtdcqqsPnVQpz1lmxQ/640?wx_fmt=jpeg)