kplabs-pl / ESA-ADB

Code of the ESA Anomaly Detection Benchmark
MIT License
31 stars 6 forks source link

Problem with Executing Algorithms - Docker - TimeEval-algorithms #4

Open kalifou opened 1 month ago

kalifou commented 1 month ago

Hello,

I am currently having issues with executing and benchmarking algorithms on your repo. After installing the repo and I have decided to follow the steps in the ESA-TimeEval-algorithms guiding page: https://github.com/kplabs-pl/ESA-ADB/tree/main/TimeEval-algorithms

The issue is related to the containerization of the algorithms. It occurs when I use the commands in section 3. Train your algorithm or 4. Execute your algorithm (after building the individual images). It also occurs when I run the test.sh script: bash test.sh algorithm {train / execute} This occurs for all, e.g lof, pcc, copod, knn...

(docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/entrypoint.sh": permission denied: unknown)

However, this does not occur then doing the same experiments on the original repository of TimeEval-algorithms (same machine and docker setting, same commands, different repo).

Would you have pointers on how to fix this issue ? I initially thought it had to do with my docker installation...which now cleared after the comparison .

Many thanks René

Kotrix commented 1 month ago

Hi, adjusting permissions of the entrypoint.sh before building the Docker image should solve the problem. However, it is interesting that you do not encounter the same problem when working with the original TimeEval. I will try to investigate this problem next week.

kalifou commented 1 month ago

Hi,

Thank you for your reply.

Sure, regarding the permissions, I have looked a bit into it. For instance, I looked into the Dockerfile of a target algorithm, say pcc, to see how to add missing rights to the configuration. (https://github.com/kplabs-pl/ESA-ADB/blob/main/TimeEval-algorithms/pcc/Dockerfile), but without success.

Example of line added: RUN ["chmod", "+x", "/app/algorithm.py"] ENTRYPOINT["/app/algorithm.py"] (tried with and without previous line) Outcome: issue not solved.

Would you have any recommendations?

Another possible directon would be the difference in the Dockerfiles accross repositories for the algos.. For instannce, for KNN, here is the diffs of the files, which appear at the first line, somehow related to the base image version:

< FROM registry.gitlab.hpi.de/akita/i/pyod-1.1.2
---
> FROM ghcr.io/timeeval/pyod:0.3.1

I am not sure yet how this could cause/relate to my issue. Cheers