baidu/puck

关于punk对应的ann benchmarks测试的一系列问题

Autumn1998 opened this issue · 9 comments

最近尝试使用puck进行ann- benchmarks测试,有以下问题:

  • 在build dockerfile之前,进行pip install requirements的时候,经常出现错误,主要集中在“无法找到package对应的版本”,不知道是不是版本问题,在这一步我没有安装成功的库选择了跳过,可能会导致后面的问题

  • 在dockerfile中需要进行requirements的构建,但是经常出现“无法找到package对应的版本”的问题,后通过注释dockerfile中的

RUN pip3 config set global.index-url http://pip.baidu.com/root/baidu/+simple/
RUN pip3 config set global.index http://pip.baidu.com/root/baidu/
RUN pip3 config set global.trusted-host pip.baidu.com

后成功构建image,不知是因为我所在机构的封锁,还是链接问题

  • 使用create database脚本进行download数据集之后会出现assert不通过的问题, 定位到代码是 ann- benchmarks / benchmark / darasets.py里面315行左右,是一个先assert在赋值。
    25a5df4a6c1fe8acfc7ad6bd6f7922b0

  • 使用run .py,通过镜像进行benchmark操作的时候,出现权限问题。该问题没有引起程序的崩溃。
    0d77d7567a28d3d154393e4fb59d008d

  • 最后程序崩贵在log的地方,指示为将dict作为real number输出
    fe841cc4109b663d7033cee0a6d11f41

此外,在修改搜索的线程数的时候,需要修改CPU_LIMIT,但是我好像没有找到参数文件中的位置,所以直接进入代码中修改的。总之我没有能够完整的运行benchmark

1.pip源的问题:dockerfile里设置了国内的源,如果下载有问题,可以试试其他的,不影响生成的docker镜像。
2.数据下载的问题:已修改代码,辛苦拉取最新的代码。
3.执行算法镜像,是root权限。data和result目录在本地和镜像内是同步的,辛苦检查docker镜像启动的账号,是否在本地目录下面有写权限。
4.log信息不全,暂时无法定位。辛苦解决3之后,看下这个问题是否解决。

由于公司的权限管理,我无法在/usr一类的目录中执行写操作,换言之,我无法拿到完整的root权限。而在我个人pc上进行测试受限于设备原因,几乎是不可能的。请问如何手动执行写操作的路径? 我的理解是可以在挂载的数据盘上写入应该是可以做到的

执行benchmark不需要root权限,需要你自己的账号在docker的用户组。
创建镜像时候,会安装库到/usr下,是镜像的/usr,非本地的,没有本地root也没关系。

理解了,我以为之前permission denied的原因是因为在需要root 权限的地址进行写入。实际上是因为docker中的权限和docker外的权限不一致,docker中的root无法直接在挂载的目录上写入,需要有一个777的目录或者在docker中添加与外侧用户userID相同的user。

在puck测试中出现
image
,是否是image的原因?

此外,该问题疑似造成在解析结果的时候出现
image

在puck测试中出现 image ,是否是image的原因?

此外,该问题疑似造成在解析结果的时候出现 image

程序没有正确退出,图1的报错可以具体一些吗?

image image

可以重点关注一下,内存超限、构建的索引文件权限以及索引文件是否完整这三个地方

最近这个问题没有更新,我这边先关闭问题了。如果有新的使用问题,可以提新的issue,谢谢。