DigitalCompanion-KETI / DCFramework

DCF - Serverless for ML Serving https://dcf-docs.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

6. Test function 단계에서 에러가 발생합니다.

bowbowbow opened this issue · comments

6. Test function 단계를 보고 아래 커맨드를 실행했는데

echo "Hello DCF" | dcf-cli function run kaist-textemotionrecognition-4

다음과 같은 에러가 발생합니다.

Checking Nvidia Docker...
panic: interface conversion: interface {} is *exec.Error, not string

goroutine 1 [running]:
github.com/digitalcompanion-keti/dcf-cli/cmd/log.Fatal(0xc0000cfbc8, 0x1, 0x1)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/log/log.go:16 +0x146
github.com/digitalcompanion-keti/dcf-cli/builder.CheckNvidia(0x9b5c79, 0x1a)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/builder/local.go:122 +0xfd
github.com/digitalcompanion-keti/dcf-cli/cmd/function.preDCFRun(0xdf5480, 0xc00009f740, 0x1, 0x1, 0x0, 0x0)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/function/run.go:111 +0x4f6
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).execute(0xdf5480, 0xc00009f700, 0x1, 0x1, 0xdf5480, 0xc00009f700)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:815 +0x514
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xdf3900, 0x0, 0x0, 0x0)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:914 +0x2fb
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).Execute(...)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:864
github.com/digitalcompanion-keti/dcf-cli/cmd.Execute()
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/dcf.go:32 +0x2d
main.main()
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/main.go:7 +0x20

로그가 남아있는지 docker logs -a docker logs <container id>으로 조회해보려고 하였으나 최근에 생성된 도커 프로세스가 없어 확인하지 못 했습니다.

  1. 빌드까지는 성공했고 Dockerfile에 자바 설치를 위해 아래 부분을 추가했었습니다.
RUN apt-get update && \
    apt-get install -y openjdk-8-jdk && \
    apt-get install -y ant && \
    apt-get clean;
RUN apt-get update && \
    apt-get install ca-certificates-java && \
    apt-get clean && \
    update-ca-certificates -f;
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME

도움 부탁드립니다! @Cyy92 @ssaru

안녕하세요!
해당 에러는 Nvidia-Docker2가 설치되지 않아서 발생하는 에러입니다.
Nvidia-Docker2를 설치해주시면 됩니다.

설치 방법은 아래 링크를 참고 부탁드리겠습니다.
https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)

안녕하세요! 답변 감사합니다.

nvidia-docker2 설치하고 아래 명령어들도 잘 실행되는데 에러가 해결이 안되네요 (도커 버전은 19.03.5입니다.) 😢

$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
$ docker run --runtime nvidia nvidia/cuda:9.0-base nvidia-smi
$ nvidia-docker run nvidia/cuda:9.0-base nvidia-smi

혹시 nvidia-docker2가 잘 설치되어있으면 아래 처럼 nvidia-docker2으로 실행가능해야하나요?

$ nvidia-docker2 run nvidia/cuda:9.0-base nvidia-smi

Nvidia-Docker2 버전만 확인되면 됩니다.

nvidia-docker --version

혹시 똑같은 에러가 발생이 되나요?
다른 에러라면 에러 메세지를 확인할 수 있을까요?

  1. sudo nvidia-docker --version 입력 시 Docker version 19.03.5, build 633a0ea838이 출력됩니다. 이럼 문제 없는걸까요?

  2. 처음과 동일한 에러가 발생합니다.

echo "Hello DCF" | dcf-cli function run kaist-textemotionrecognition-4 실행 시 아래와 같은 메세지가 동일하게 표시됩니다.

Checking Nvidia Docker...
panic: interface conversion: interface {} is *exec.ExitError, not string

goroutine 1 [running]:
github.com/digitalcompanion-keti/dcf-cli/cmd/log.Fatal(0xc0000bfbc8, 0x1, 0x1)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/log/log.go:16 +0x146
github.com/digitalcompanion-keti/dcf-cli/builder.CheckNvidia(0x9b5c79, 0x1a)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/builder/local.go:122 +0xfd
github.com/digitalcompanion-keti/dcf-cli/cmd/function.preDCFRun(0xdf5480, 0xc000069750, 0x1, 0x1, 0x0, 0x0)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/function/run.go:111 +0x4f6
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).execute(0xdf5480, 0xc000069710, 0x1, 0x1, 0xdf5480, 0xc000069710)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:815 +0x514
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xdf3900, 0x0, 0x0, 0x0)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:914 +0x2fb
github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra.(*Command).Execute(...)
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/vendor/github.com/spf13/cobra/command.go:864
github.com/digitalcompanion-keti/dcf-cli/cmd.Execute()
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/cmd/dcf.go:32 +0x2d
main.main()
        /home/keti-temp/Documents/dev/Go/src/github.com/digitalcompanion-keti/dcf-cli/main.go:7 +0x20

혹시 컴퓨터에 GPU는 있으신가요?
괜찮으시다면 에러 재현을 위하여 제 메일로 실행하신 함수 코드를 압축하여 송부 가능할까요?

넵! GeForce GTX 1060이 있습니다.

스크린샷 2019-11-19 오후 10 34 23
(ndivia-smi에서 보여주는 결과와 다르게 실제 서버에는 cuda-9.0이 설치되어있습니다.)

메일로 코드를 압축하여 송부하였습니다!

네 감사합니다.
금주 중으로 확인하여 답변 드리도록 하겠습니다.
답변은 보내주신 메일로 회신드리도록 하겠습니다!

메일이 오지 않은 것 같습니다.
제가 따로 메일 드리도록 하겠습니다!

다시 송부했습니다! 감사합니다.

네 확인 완료하였습니다.

테스트할 때 이렇게 dcf-cli 앞에 sudo를 안 붙여서 오류가 났던거였습니다 😱

echo "Hello DCF" | sudo dcf-cli function run kaist-textemotionrecognition-4

빌드 후 생기는 오류들을 고칠 때 도커 이미지 안에 들어가서 코드를 보는게 도움이 됐어서 명령어를 남겨둡니다.

sudo docker run --rm -it --entrypoint=/bin/bash keti.asuscomm.com:5001/kaist-textemotionrecognition-4:latest