Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parallax 설치 관련 문의 #22

Open
jhshim0326 opened this issue Dec 3, 2018 · 28 comments
Open

Parallax 설치 관련 문의 #22

jhshim0326 opened this issue Dec 3, 2018 · 28 comments

Comments

@jhshim0326
Copy link

안녕하세요.

현재 제 환경상 GPU 자원을 가진 시스템을 구축할 수 없어서

현재 CPU만 사용하는 환경으로 세팅하고있습니다.(AWS 사용)

installation guide를 따라 하고있는데, parallax의 tensorflow 설치에서 막혀서요.

GPU를 안쓴다면 NVIDIA Driver, CUDA, NCCL은 모두 패스하고 설치하면 되는거 아닌가요?

parrallax는 cpu_enable 브랜치로 하였고, bazel build 시에

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

로 빌드를 시도했습니다.

image

다음과 같은 에러가 발생하면서 빌드가 되지 않습니다.

혹시 도움을 주실 수 있을까요.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

설치에 사용하신 bazel 버전이 무엇인가요? 기존 bazel build rule이 사용하신 bazel 버전에서는 deprecate되어 생긴 문제라고 보입니다. bazel 버전을 조금 낮추어야 될 것 같습니다.

@jhshim0326
Copy link
Author

0.20을 사용했습니다. 현재 쓰시는 버전을 말씀해주시면 그 버전으로 낮추겠습니다.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

저는 0.18.1을 이용했습니다.
0.20.0에 breaking change가 많이 있네요.

@jhshim0326
Copy link
Author

바벨 0.18.1로 맞춘 후 빌드하니 다음과 같은 에러가 발생합니다.

image

환경 세팅에 너무 많은 시간을 보내고있어서 힘드네요. 도움을 부탁드립니다.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

해당 이슈 참고 부탁드립니다.
tensorflow/tensorflow#13928

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

Parallax repo 안의 TensorFlow와 원 버전(https://github.com/tensorflow/tensorflow)은 몇몇 코드를 제외하면 다르지 않아, 문제가 생길 경우 대부분 원 버전에서도 같은 문제가 생기는 경우입니다. 따라서 google이 답을 알고 있을 가능성이 높습니다 :)

@jhshim0326
Copy link
Author

참고 주신 방법을 사용해서 해결하고 넘어가서 빌드하다가 mpi 쪽에서 오류가 발생하네요.
image
openmpi 버전 문제인가해서 4.0.0에서 3.1 버전으로 다시 재설치하고 g++ 도 재설치해보고 c++ 에러 이슈도 있어서 --cxxopt=-std=c++11 옵션도 줘보고했는데 해결이 되지 않습니다. 그렇다고 mpi 옵션을제외하고 빌드하면 horovod가 안될듯한데..
저만 이런 문제로 막혀있는건지 궁금하네요. 과제 스펙이랑 상관도 없는 세팅에서 3일을 소비하고있는데..parallax 안에 있는 tensorflow가 아닌 tensorflow 사이트에 나온대로 설치시엔 아무 문제가 없습니다. 이렇게 설치하면 parallax 호환이 안되지만요.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

혹시 TensorFlow configure 시에 MPI Y/N에서 Y를 하셨나요?
TensorFlow configure시에 MPI option을 켜는 것과 Horovod 사용과는 아무 연관이 없습니다 😢
해당 option은 TensorFlow contrib package에 있는 MPI package를 설치하는 것으로, Horovod에서 이용하지 않습니다.
충분히 헷갈릴 수 있는 부분인데, 과제 doc이나 실습 세션때 설명드리지 않아 죄송합니다.

@bgchun
Copy link
Contributor

bgchun commented Dec 3, 2018

학생들끼리 Setup 문제 생기고 해결한 것을 적극적으로 공유해 주면 좋겠습니다.

@jhshim0326
Copy link
Author

네 과제 스펙을 보고 configure에서 mpi option은 켜야한다고 생각했었네요. 빠른 답변 감사합니다 다시 시도해보겠습니다.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

configure 시에 MPI option을 켠 것과 별개로, 빌드 시 저런 에러는 나지 않아야 하는데,

parallax 안에 있는 tensorflow가 아닌 tensorflow 사이트에 나온대로 설치시엔 아무 문제가 없습니다.

이것이 의미하는 바가 TensorFlow r1.11 버전을 (https://github.com/tensorflow/tensorflow/tree/r1.11) 이용하면 에러가 나지 않고, https://github.com/snuspl/tensorflow/tree/r1.11 이 버전을 이용하면 에러가 난다는 말씀이신가요?

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

조금 찾아보니
tensorflow/tensorflow#22474
TensorFlow r1.11 버전의 버그이며, r1.12 버전에서 고쳐졌다고 합니다.

@bgchun
Copy link
Contributor

bgchun commented Dec 3, 2018

@gyeongin 몬트리올에서 바쁠텐데 빠른 답변 고마워요.

@jhshim0326
Copy link
Author

우선 제외하고 빌드 시
image
이 에러가 발생했는데 이건 아까 이슈 검색할때 --cxxopt=-std=c++11 이 옵션을 주고 빌드하라는걸 봤어서 다시 빌드중입니다.
사이트에 나온대로 설치시라는 말은 Install TensorFlowwith pip 방법으로 시도했었습니다.
몬트리올에 계셨군요. 바쁘실텐데도 빠르게 피드백 주셔서 정말 감사합니다.

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

참고로 저는 기본으로 주어진 bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package command로도 문제 없이 작동했습니다.
Docker 환경에서

RUN apt-get update -y
RUN apt-get install python-dev python-pip net-tools vim openssh-server git wget unzip tar autoconf automake libtool -y

위 dependency와 bazel 이외에 아무것도 설치하지 않아도 TensorFlow 설치에 문제가 없었습니다.
제 환경에 설치되어 있는 g++ 버전은 g++ (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609입니다.

@jhshim0326
Copy link
Author

흠 위와 동일한 문제가 계속 발생하네요.
에러 수정을 하면서 이것저것 건드리면서 꼬인게있나해서 아예 새로 서버를 만들어서
처음부터 세팅을 할까 고민중입니다.
현재 서버는 aws의 deep learning ami를 이용했는데 이거로 인한 문제가 발생할 수 있나요?

@gyeongin
Copy link
Contributor

gyeongin commented Dec 3, 2018

네 꼬인게 있을 수 있을 것 같습니다.
저는 deep learning base AMI를 써본적은 있고, 해당 경우 별 문제 없이 bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package로 잘 설치되었습니다.
문제가 계속 발생시 기본으로 AMI에 설치되어 shipping되는 package들에 문제가 있다고 보여지는데, 이 경우 좀 ugly 하지만 aws instance 위에 docker instance를 띄워서 완전히 바닥에서부터 dependency를 쌓아 올리는게 좋을 것 같습니다.

@jhshim0326
Copy link
Author

AWS를 새로 다시 만들어서 시도해봤습니다. (Ubuntu 16.04)
말씀하신 dependency와 bazel만 설치하고, git checkout을 cpu_enable로 변경 후
tensorflow checkout을 r1.11을 변경한 것 외엔 아무것도 하지 않았습니다만
동일한 에러가 발생합니다.
image

@jhshim0326
Copy link
Author

에러 발생때마다 build도 20분 가량 소요하면서 진행해야해서 시간을 너무 많이 잡아먹는데,
빌드 후의 결과물인 .whl 파일이 어디서 빌드했느냐에 따라 다르게 나오는건가요?
그게 아니면 그 결과물 파일을 공유해주시는것도 방법일듯합니다.

@jhshim0326
Copy link
Author

jhshim0326 commented Dec 4, 2018

혹시해서 git을 다시 받고 tensorflow 버전을 1.11로 변경하지않고 진행했을땐
image
다음과 같은 에러가 발생합니다. 파이썬 버전은 virtual env로 잡은 2.7.12 이구요.
이 에러 전에는 enum 패키지를 찾을 수 없다는 에러가 발생해서 enum 패키지를
설치하고 다시 빌드한 결과입니다(pip install enum)

@sj6077
Copy link

sj6077 commented Dec 4, 2018

위에 devce_tracer.cc 에서 발생한 에러는 코드 문제였던것 같습니다. 다시 pull해서 1.11에서 실행해봐주실 수 있을까요?
wheel 파일은 사용하시는 환경마다 다르기때문에 따로 공유드리지 않았습니다.
enum 패키지 관련해서는 혹시 잘 되지 않으신다면 pip install enum34를 설치해주시기를 부탁드립니다.

@jhshim0326
Copy link
Author

말씀하신대로 다시 pull해서 1.11에서 실행해봤습니다.
위의 스샷과 동일한 에러가 발생합니다.
image

@dostos
Copy link

dostos commented Dec 4, 2018

이 문제인듯 합니다. bazelbuild/continuous-integration#305

@bgchun
Copy link
Contributor

bgchun commented Dec 4, 2018

수업시간 물어 보았을때 대부분의 학생들이 환경 셋업을 다 해서, 특별한 문제인 것 같습니다. 모든 학생들에게 문제가 다 있는 것은 아닙니다.

@jhshim0326
Copy link
Author

@bgchun CPU 환경으로 구성한 학생들도 아무도 문제가 없었나요? 정말 이상하네요...
@dostors 주신 링크 참고하여 다음의 3개를 추가로 더 설치 후 우선 빌드에 성공했습니다. 혹시 같은 문제가 있는 학생들이 있을까 공유합니다.
ubuntu 16.04 버전이고, 추가로 설치한것은 다음과 같습니다.
pip install enum
pip install keras_applications
pip install keras_preprocessing
pip install mock

@sj6077
Copy link

sj6077 commented Dec 4, 2018

아마 package 버전이 중요한 문제일것 같은데요. 혹시 wheel 파일 생성엔 성공하셨나요? 가끔 빌드에 fail하고 wheel 파일은 생성되는 경우도 있는데 해당 wheel 파일을 install하고 다시 build를 하면 되기도 하더라구요.

아래 링크를 보면 아래처럼 설치해보라고 하는데 시도해보시는게 어떨까요.
tensorflow/tensorflow#21518
pip install keras_applications==1.0.4 --no-deps
pip install keras_preprocessing==1.0.2 --no-deps

@jhshim0326
Copy link
Author

우선
pip install keras_applications
pip install keras_preprocessing
위 명령어만으로 설치해도 wheel 파일 생성엔 성공했네요. tensorflow 동작도 문제 없는걸 확인했습니다.
긴시간 도와주셔서 감사합니다.

@sj6077
Copy link

sj6077 commented Dec 4, 2018

다행이네요. 수고 많으셨습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants