🌌 Hugging Face Spaces 分析

社区文章 发布于 2024年2月23日

image/png

数据集:Weyaxi/huggingface-spaces-codes

🤗 Huggingface Spaces 是一个非常出色、易于使用的平台,可以在几秒钟内发布各种类型的应用程序并免费托管。Huggingface Spaces 拥有如此多积极的方面,目前 Hub 中已有超过 18 万个 Spaces。

❓ 这是如何制作的?

三个月前,我决定克隆所有 spaces 并从中创建一个数据集,同时展示有意义的统计数据。

过了一段时间,当我尝试抓取大约 16 万个 spaces 时,我发现这几乎是不可能的,而且没有必要做到那种程度。于是,我根据点赞数对 spaces 进行了排序,并尝试抓取其中 2 万个,而不是全部 16 万个。

遇到这个问题后,我又遇到了另一个问题:Spaces 中托管的大文件。因此,我只关注 Spaces 中的代码文件。于是,我只抓取了代码文件。

有趣的是,列表中最后也有点赞数为 0 的 spaces!所以,如果你的 space 点赞数为 0,并且幸运地进入了我的列表,我也抓取了它们:)

🚀 生成的数据集

经过长时间的处理,解决了速率限制等问题后,最终结果是大约 13 万个文件和 2 GB 的数据。然后又出现了一个问题

磁盘使用量不大,但文件数量非常多。

  • 我尝试了传统技术,但它们都失败了。
  • 我还尝试使用 Huggingface Hub 库中的多提交功能上传,但这也没有成功,因为它在一次提交中上传的文件太少。

然后我通过修改库代码本身解决了这个问题!

事实证明,多提交在每次提交时上传一定数量的文件(我不记得具体数量),所以我将这个数量改成了 18000。

然后我在这里发布了数据集

https://huggingface.co/datasets/Weyaxi/huggingface-spaces-codes

📊 数据集统计

完成所有这些处理后,让我们深入了解统计数据。以下是我抓取的 Spaces 的统计概述。

语言 文件扩展名 文件数量 文件大小 (MB) 行数
Python .py 141,560 1079.0 28,653,744
SQL .sql 21 523.6 645
JavaScript .js 6,790 369.8 2,137,054
Markdown .md 63,237 273.4 3,110,443
HTML .html 1,953 265.8 516,020
C .c 1,320 132.2 3,558,826
Go .go 429 46.3 6,331
CSS .css 3,097 25.6 386,334
C 头文件 .h 2,824 20.4 570,948
C++ .cpp 1,117 15.3 494,939
TypeScript .ts 4,158 14.8 439,551
TSX .tsx 4,273 9.4 306,416
Shell .sh 3,294 5.5 171,943
Perl .pm 92 4.2 128,594
C# .cs 22 3.9 41,265

🖥️ 语言

正如我们可能预料的那样,Python 是使用最广泛的语言,优势显著,其次是 Markdown 和 JavaScript。(热爱 Python ❤️)

image/png

📁 大小

如果我们查看文件大小图表,可以看到 Python 在其他语言中占用空间更大。SQL 紧随其后,我认为这是因为 Hugging Face Spaces 中托管了数据库文件。在 SQL 之后,我们又遇到了 JavaScript :)

image/png

📝 行数

Python 的行数在其他语言中最高,但我们遇到了另一种语言排在第二位。我们的老朋友:C。C 在 Hugging Face Spaces 中行数仅次于 Python。

image/png

Spaces 统计

🛠️ 软件开发工具包 (SDK)

Huggingface 提供了许多软件开发工具包 (SDK) 来创建我们的 Spaces。从图表中我们可以看到,我个人非常喜爱和使用的 Gradio 是 Hugging Face Spaces 中使用最多的 SDK,其次是 Streamlit。

image/png

🏛️ 许可证

正如我提供的图表所示,大多数 Spaces 没有许可证,而 MIT 和 Apache 许可证紧随其后。

image/png

社区

注册登录 以评论