返回首页
最新
我在纯 PyTorch 中构建了一个小型的自包含 K-Means 实现:<a href="https://gitlab.com/hassonofer/pt_kmeans" rel="nofollow">https://gitlab.com/hassonofer/pt_kmeans</a>
我在进行数据集采样和近似最近邻搜索时,尝试了几种现有的大规模 K-Means 库。可是我找不到一个既快速又简单,并且能够在我的工作站上顺畅运行而不受内存限制的解决方案。也许我错过了某个现有的解决方案,但最终我写了一个符合我需求的实现。
核心思路:将数据保留在 CPU 上(因为那里有更多的内存),并在迭代步骤中智能地将必要的数据块移动到 GPU 进行计算。结果总是返回到 CPU 以便进行简单的后处理。
(注意:在 GPU 上计算 K-Means++ 初始化时,完整数据集仍需适配于 GPU。)
它提供了一些实用功能:
```
- 分块计算:通过仅将必要的数据块移动到 GPU,进行内存高效的大数据集处理,防止内存溢出错误
- 聚类拆分:通过将单个聚类拆分为多个子聚类来细化现有聚类
- 零依赖:单文件实现,仅需 PyTorch。可以直接复制粘贴到任何项目中
- 高级聚类:支持可选重采样的层次 K-Means(遵循最新研究),聚类拆分工具
- 设备灵活性:显式设备控制 - 数据可以存放在任何地方,计算在您指定的地方进行(任何 PyTorch 支持的加速器)
```
未来计划:
```
- 添加对内存映射文件的支持,以处理更大的数据集
- 探索 PyTorch 分布式以实现多节点 K-Means
```
该实现处理 L2 和余弦距离,并包含 K-Means++ 初始化。
可通过 PyPI 安装(`pip install pt_kmeans`),完整实现可在这里找到:<a href="https://gitlab.com/hassonofer/pt_kmeans" rel="nofollow">https://gitlab.com/hassonofer/pt_kmeans</a>
希望能收到对该方法的反馈,以及任何我可能遗漏的用例!
嗨,HN,
我开发了Pollar,这是一个为波兰提供的人工智能驱动的新闻聚合器。Pollar可以自动完成以下任务,帮助用户避免浏览大量文章的麻烦:
- 每几分钟从主要的波兰媒体收集新闻
- 使用嵌入技术将相似的文章归类为一个事件
- 生成简短的AI摘要,让你快速获取关键信息
- 通过简单的颜色编码突出媒体偏见
现在它已经作为网页应用上线,iOS和Android应用也即将推出。
我希望能得到你们的反馈,具体包括:
- 摘要是否准确且有用
- 偏见标记是否有帮助,还是过于简化
- 有哪些改进可以让它作为日常新闻工具更具价值
谢谢!
Jakub
docustore的目标是为大型语言模型(LLMs)提供最新的、现成的、即插即用的上下文,来源于经过精心挑选的框架/SDK列表。它有一个四步流程:抓取文档 - 清理文档 - 向量化 - 打包。我的愿景是将其托管在某个地方,并围绕它开发一个API/MCP,使其与开发环境无关。