aim 有时候通过UI无法正确移除运行,

nbnkbykc  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(35)

🐛 Bug

这不是一个关键性的bug,因为它似乎并没有对任何事情产生影响,但我最近注意到了一些事情:
当通过UI删除运行时,有时它似乎没有从数据库中正确删除。

重现步骤

  1. 使用 aim init 初始化一个AIM数据库。
  2. 在新的数据库中记录一个运行。
  3. 打开Web界面。
  4. 复制运行的哈希值。
  5. 通过UI删除运行。
  • 打开终端,导航到aim数据库并运行 aim runs ls
  • 有时运行仍然存在于数据库中。具体来说,在 .aim/meta/chunks 目录下似乎仍然有一个名为刚刚被删除的运行哈希值的目录。在删除运行后,还会在 .aim/locks/index 出现一个新文件。
  • 然后,运行 aim runs rm <run-hash> 将正确删除 .aim/meta/chunks/<run-hash> (.aim/locks/index 文件会持久存在)。之后,aim runs ls 将指示运行已被删除。

我不确定是什么原因导致它只偶尔发生。

预期行为

运行应该从数据库中正确删除,就像执行命令 aim runs rm <run-hash> 时一样。

环境

  • Aim版本:3.17.4
  • Python版本:3.10.8
  • pip版本:23.1.2
  • OS:Archlinux
e1xvtsh3

e1xvtsh31#

嘿,@Nuno-Mota,感谢你报告这个问题。我们会调查并保持更新。

uxhixvfz

uxhixvfz2#

同样的问题,有时候在aim storage prune中会出现错误,提示找不到目录或文件。所以我需要这样做:

# Get those runs delete via webUI but stills in `chunks/` folder
print(set(repo.list_all_runs()) - set(repo.iter_runs()))

然后运行以下命令,手动删除chunks/文件夹中的这些运行记录:

aim runs rm "{ouptut from python codes.}"

相关问题