You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法运行Facebook Research的Poincare Embeddings示例获取层级表示

解决Poincaré Embeddings example.sh脚本运行中断问题

我之前复现这个项目的时候也踩过类似的坑,结合你的环境配置和截断的错误日志来看,咱们可以从这几个方向一步步排查解决:

1. 先获取完整的错误日志

你给出的日志截断在Burnin: lr=0.003 'Tr...,根本没法定位具体问题。先重新运行脚本并把所有输出保存到日志文件里:

NHTHREDS=2 ./example.sh > run.log 2>&1

然后打开run.log查看完整内容,重点找ERROR、Traceback这类关键词,这是定位问题的核心。

2. 修复PyTorch版本兼容性问题

这个项目早期版本是基于PyTorch 0.3.1开发的,和0.4.0存在不少API差异,这大概率是你运行失败的主要原因:

  • 方案一:降级PyTorch到适配版本
    在你的conda环境里执行:
    conda install pytorch=0.3.1 torchvision -c pytorch
    
  • 方案二:修改代码适配PyTorch 0.4.0
    主要调整两处:
    • 打开poincare/nn.py,把所有torch.autograd.Variable()的调用直接替换成对应的张量操作(0.4.0开始张量默认支持自动求导)
    • 检查optim.py里的优化器初始化代码,把params参数的传递方式调整为符合0.4.0的要求

3. 确认依赖与可执行权限

  • 确保conda环境里装全了基础依赖:
    conda install numpy scipy
    
  • 项目里的slurp脚本需要可执行权限,执行下面的命令赋予权限:
    chmod +x slurp
    

4. 检查数据集路径与完整性

example.sh默认加载data/mammal_subtree.tsv,先确认这个文件存在且完整:

ls -l data/mammal_subtree.tsv

如果文件缺失,重新克隆项目仓库或者从项目的data目录下手动下载这个数据集。

5. 尝试单线程运行

旧版本PyTorch的多线程处理容易出现资源竞争问题,先试试单线程运行看是否正常:

NHTHREDS=1 ./example.sh

如果按照上面的步骤调整后还是有问题,把run.log里的完整错误信息贴出来,咱们再针对性解决。

内容的提问来源于stack exchange,提问作者Harman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:10:04