Giter VIP home page Giter VIP logo

bd2018's People

Contributors

bgchun avatar gyeongin avatar luomai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bd2018's Issues

single machine, single gpu 에서 parallax test 문의

안녕하세요.

제가 single machine & gpu 환경에서 parallax를 test해보려고 하는데요,
tf랑 hovorod에서는 돌아가는 걸 확인했는데,
parallax에서는
'WARNING: One or more tensors were submitted to be reduced, gathered or broadcasted by subset of ranks and are waiting for remainder of ranks for more than 60 seconds. This may indicate that different ranks are trying to submit different tensors or that only subset of ranks is submitting tensors, which will cause deadlock. Stalled ops: HorovodBroadcast_w1_0 [ready ranks: 0]'
라는 오류가 뜹니다.
parallax 는 single gpu에서는 test가 불가한건가요?

감사합니다.

parallax 실행 error 문의

안녕하세요.

현재 CPU만 사용하는 환경에서 테스트를 하고 있는데요

horovod와 tensorflow 동작은 모두 확인했는데 parallax 실행 시

image

다음과 같은 에러가 발생하면서 수행이 되지 않습니다.

조교님 예제 코드도 마찬가지의 에러가 발생하는거보니 뭔가 환경 세팅의 문제인가해서 문의드립니다.

Survey Paper 관련하여 문의를 드립니다.

안녕하세요.

서베이 페이퍼를 작성하고 있는데 혹시 서베이 페이퍼 제출을 위해 맞추어야 하는 포맷(글자 크기, 줄 간격 포함)이 있는지 여쭤봅니다.

또, 한글로 작성하여도 괜찮을까요?

감사합니다.

Survey paper 제출 시간과 방법 문의드립니다.

안녕하세요.
지금 survey paper를 작성중인데 제출 방법에 대한 문의 드립니다.
지난번 과제와 같이 저녁 6시까지 git hub 에 올리고 collaborator를 등록하면 되는건가요??
감사합니다.

Bazel 빌드시 Parallax target 생성 오류

Ubuntu 16.04 (2 cores, 8G RAM, *Without GPU) 환경에서
Bazel을 이용하여 Parallax cpu_enable branch에서 TensorFlow v1.11, Horovod 0.11.2 (OpenMPI 3.0.0)를 정상 build 하여 pip에 추가하였습니다.

installation.md의 마지막 부분 Install Parallax 스크립트 실행 중 Parallax pip package가 생성은 되지만 빌드시 타겟 파일이 생성되지 않아 질문을 드립니다.

#22 를 참고하여 Bazel 0.18.1을 사용하였습니다.

> ./parallax # ~/parallax/parallax
> bazel build //parallax/util:build_pip_package
> bazel-bin/parallax/util/build_pip_package ./target
> pip install ./target/parallax-*.whl

parallax_pip_package_build

HW2 dataset 관련 문의

이번 수업으로 deep-learning을 처음 접하다보니

분산시스템에 알맞는 데이터셋을 고르는데 좀 어려움이 있네요.

혹시 데이터셋을 좀 추천해주실 수 있을까요?

Parallax 설치 관련 문의

안녕하세요.

현재 제 환경상 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

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

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

Nemo 환경에서 발생하는 에러 문의

안녕하세요.

본 과제 스펙인 UDF Function에서 external lib 사용을 위해

org.apache.commons.text.CaseUtils

이 lib를 사용하기로 결정해서 현재 구현한 상태입니다.

Spark 환경에서는 아무 문제없이 동작하는데, Nemo로 돌릴 시

REEF에서 돌다가 멈춰버리네요. 이 부분에 대해 도움을 주실 수 있을까요?

일부 에러를 첨부합니다.

Oct 30, 2018 1:00:11 AM org.apache.reef.runtime.common.client.RuntimeErrorProtoHandler onNext
경고: socket://172.30.1.57:59819 Runtime Error: Thread main threw an uncaught exception.
Oct 30, 2018 1:00:11 AM org.apache.reef.client.DriverLauncher$RuntimeErrorHandler onNext
심각: Received a resource manager error
Oct 30, 2018 1:00:11 AM org.apache.reef.wake.remote.DefaultErrorHandler onNext
심각: No error handler in RemoteManager
java.lang.RuntimeException: Trying to remove a RunningJob that is unknown: BD_HW_ONE
at org.apache.reef.runtime.common.client.RunningJobsImpl.remove(RunningJobsImpl.java:124)
at org.apache.reef.runtime.common.client.RunningJobsImpl.onRuntimeErrorMessage(RunningJobsImpl.java:95)
at org.apache.reef.runtime.common.client.RuntimeErrorProtoHandler.onNext(RuntimeErrorProtoHandler.java:49)
at org.apache.reef.runtime.common.client.RuntimeErrorProtoHandler.onNext(RuntimeErrorProtoHandler.java:33)
at org.apache.reef.wake.remote.impl.HandlerContainer.onNext(HandlerContainer.java:223)
at org.apache.reef.wake.remote.impl.HandlerContainer.onNext(HandlerContainer.java:39)
at org.apache.reef.wake.remote.impl.OrderedPullEventHandler.onNext(OrderedRemoteReceiverStage.java:160)
at org.apache.reef.wake.remote.impl.OrderedPullEventHandler.onNext(OrderedRemoteReceiverStage.java:141)
at org.apache.reef.wake.impl.ThreadPoolStage$1.run(ThreadPoolStage.java:182)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

./run_spark 시 compile error 문의

현재 window에서 제공하는 wsl 환경을 사용하고 있습니다.

스켈레톤 코드를 수행해보는데, run_spark 수행 시

[ERROR] You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.

다음과 같은 error가 발생하면서 실행이 되질 않네요.

데이터 다운로드 하는 스크립트도

Saving to: ‘iso_8859-1.txt%0D.1’

iso_8859-1.txt%0D.1 100%[=================================================>] 504 --.-KB/s in 0s

2018-10-25 20:41:51 (30.0 MB/s) - ‘iso_8859-1.txt%0D.1’ saved [504/504]

mv: cannot stat 'iso_8859-1.txt': No such file or directory

이런식으로 에러가나는데, 혹시 wsl 을 사용하면 안되는 환경인지 궁금합니다.

안된다면 docker를 사용한 환경으로 변경하려구요.

[HW2 공지] CPU로 학습 시 Parallax branch 설정, 뼈대 코드 수정

기존 HW document와 실습 시간에 빠뜨린 설명이 있어 보충합니다.

  1. CPU만 이용해 학습하실 경우, Parallax master branch를 이용하시지 말고 cpu_enable branch를 이용해 주시기 바랍니다.
    현재 master branch는 GPU를 사용하는 것을 가정하고 있기에, CPU로만 학습하실 경우 몇 가지 minor한 problem이 발생할 수 있습니다.

  2. 뼈대 코드를 수정했습니다. 다시 다운로드 받아주세요!
    2.1. run_horovod.py에서 처음에 parameter들을 broadcast해 sync하는 부분이 빠져있어 추가했습니다.
    2.2. run_tf.py에서 synchronous training을 하도록 tf.train.SyncReplicaOptimizer를 추가했습니다. 사실 이렇게 바뀐 현재 코드의 execution도 Horovod / Parallax와는 미묘하게 다릅니다. 이는 SyncReplicaOptimizer의 특성 때문이며, 과제 수행 하실 때 vanilla TF (PS architecture) 코드를 SyncReplicaOptimizer를 이용해서 짜시면 Horovod / Parallax과 동일한 result가 나올 수 없습니다. 왜 다르게 나오는지를 report에 분석해 주셔도 좋고, 다른 방법을 이용해 (hint: tf.FIFOQueue & tf.ConditionalAccumulator) Horovod / Parallax와 동일한 result가 나오도록 코드를 짜 주셔도 좋습니다. Result가 다르게 나오는 이유에 대한 힌트는 TF OSDI paper의 Section 4.4에 있습니다.
    2.3. Deterministic한 execution을 할 수 있도록 model 정의를 수정하였고 input data shuffle을 disable 하였습니다.
    2.4. 각 script를 수행하기 위한 example command와, 수행 결과 생성된 chekpoint file을 examine 할 수 있는 command를 주석의 형태로 추가하였습니다.

Grade posted

성적 올렸습니다.
한 학기 동안 수고 많이 했습니다.

[HW1 공지] pom.xml에 외부 Library dependency 설정 주의사항

  • The UDF must call at least one external Java library

HW Spec 위의 부분에서 pom.xml에 dependency를 추가해야 합니다.

spark-runner 또는 nemo-runner profile밑에 dependency를 추가하면 안됩니다.
그 대신 밑에 부분에서 dependency를 추가 바랍니다. 이 부분은 spark/nemo 둘다 공유하는 부분입니다.

    <dependencies>
        <dependency>
            <groupId>org.apache.beam</groupId>
            <artifactId>beam-sdks-java-core</artifactId>
            <version>${beam.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.beam</groupId>
            <artifactId>beam-sdks-java-extensions-sql</artifactId>
            <version>${beam.version}</version>
        </dependency>
    </dependencies>

그리고 spark/nemo 둘 다 매우 많고 복잡한 external dependency를 갖고 있습니다., HW spec에서 추천하는 것 과 같은 dependency가 가벼운 library들 ( https://en.wikipedia.org/wiki/List_of_numerical_libraries#Java) 을 사용하면 Conflict을 방지할 수 있습니다.

node-js yarn과 hadoop yarn 충돌 issue

저 같은 경우가 많지 않겠지만, 혹시 node-js yarn이 미리 설치되어 있는 환경이라면, hadoop yarn을 설치하고, link해주어야 run_nemo.sh가 제대로 돌아갑니다.

[HW1] Submission Repository Name Convention

https://github.com/YOUR_GITHUB_ID/bd17f-YOUR_NAME 이라고 되어 있는데,
bd17f 로 하는게 맞나요?
그리고 이름은 etl에 있는 영문 이름과 동일하면 되나요?

skeleton 코드 nemo output

word count 예제에서
run_spark.sh로 돌린 경우에는 work count가 제대로 수행된 것 같은데
run_nemo.sh로 돌린 경우에는 모든 단어의 count가 1로 고정되어있습니다.

vocab의 수는 동일한데 nemo에서 spark와 동일한 결과를 얻으려면 수정해야할 것이 있을까요?

Parallax 실행시 Tensorflow error 문의

안녕하세요,
과제를 진행 중, Parallax에서 실행시에만 발생하는 문제가 생겨 문의 드리고자 합니다.

image
image

위의 코드로 training을 수행시 Parallax 에서만 아래의 문제가 발생합니다.

`(128, 784)
Traceback (most recent call last):
File "/hw2/code/run_parallax.py", line 71, in
cost = autoencoder.partial_fit(sess, batch)
File "/hw2/code/autoencoder/autoencoder_models/Autoencoder.py", line 65, in partial_fit
cost, opt = sess.run((self.cost, self.optimizer), feed_dict={self.x: X})
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 671, in run
run_metadata=run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1148, in run
run_metadata=run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1239, in run
raise six.reraise(*original_exc_info)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1224, in run
return self._sess.run(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1296, in run
run_metadata=run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 1076, in run
return self._sess.run(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/parallax/core/python/common/session_context.py", line 40, in _parallax_run
return self._run_internal(fetches, feed_dict)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 887, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1086, in _run
str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (784,) for Tensor u'Placeholder:0', which has shape '(?, 784)'

Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.


mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

Process name: [[59384,1],0]
Exit code: 1
--------------------------------------------------------------------------`

session run에 들어가는 tensor shape이 문제인듯 한데,
다른 실행 코드들도 같은 방식으로 잘 동작하며 feed 전의 모양은 해당하는 tensor의 shape에 알맞은 모양임을 확인하였습니다.

https://github.com/snuspl/parallax/blob/cpu_enable/parallax/parallax/core/python/common/session_context.py#L40

해당 라인 이후로 feed data가 parallax 내부에서 변환되는 부분이 있는지 알고 싶습니다.

survey paper, final report 포맷

survey paper, final report는 한국어, 영어 둘 중에 하나로 작성하면 됩니다.

survey paper는 2-column, 5페이지 정도로 작성하면 됩니다.
final report는 2-column, 원하는 페이지 수로 작성하면 됩니다.

제출 관련 문의

프로젝트는 따로 제출하지않아도되는거지요?

Collaborators 에 추가해두기만하면 된다고 교수님께서 말씀하셨던거같아서요.

HW2 마감 관련

HW2 마감은 5일 저녁 6시입니다.

연장을 요청하는 학생들이 있어서 5일 저녁 6시부터 9일 저녁 6시까지 추가로 더 받기로 했습니다. 이 경우에는 late penalty가 적용됩니다.

9일 저녁 6시 이후에는 숙제 제출을 받지 않습니다.

BeamSQL on Nemo 문제 발생

beam sql 사용하는 숙제에서
spark에서는 결과가 잘 나오는데 nemo에서는 아래와 같은 에러가 발생하면서 종료됩니다.

beam sql 사용하지 않는 코드는 문제 없이 동작합니다.

프로젝트 repo 입니다. tantara/bd18f-taekmin-kim

 WARN 11-01 21:17:36,768 Pipeline:585 [main] - The following transforms do not have stable unique names: HomeworkBaseball.ParseCSVLinesAsRow, TextIO.Read, SqlTransform
 INFO 11-01 21:17:37,303 JobLauncher:189 [main] - Waiting for the driver to be ready
 INFO 11-01 21:17:37,303 JobLauncher:197 [main] - Launching DAG...
 INFO 11-01 21:17:37,453 JobLauncher:210 [main] - Waiting for the DAG to finish execution
Nov 01, 2018 9:17:45 PM org.apache.reef.runtime.common.launch.REEFUncaughtExceptionHandler uncaughtException
심각: Thread RuntimeMaster thread threw an uncaught exception.
org.apache.nemo.common.exception.UnrecoverableFailureException: java.lang.Exception: The plan failed on Stage7-0-0 in Executor1
	at org.apache.nemo.runtime.master.scheduler.BatchScheduler.onTaskStateReportFromExecutor(BatchScheduler.java:195)
	at org.apache.nemo.runtime.master.RuntimeMaster.handleControlMessage(RuntimeMaster.java:370)
	at org.apache.nemo.runtime.master.RuntimeMaster.access$100(RuntimeMaster.java:76)
	at org.apache.nemo.runtime.master.RuntimeMaster$MasterControlMessageReceiver.lambda$onMessage$45(RuntimeMaster.java:331)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: The plan failed on Stage7-0-0 in Executor1
	... 7 more

Nemo 실행 중 System.out 질문

작성한 BeamSQL을 Spark로 돌리면 System.out이 정상적으로 출력되는데요. 동일한 코드를 Nemo로 돌리면 출력이 되지 않습니다. 하지만 ./nemo_output 은 정상적으로 생성됩니다.

혹시 아래 에러가 있는데 이것들과 관련이 있을까요? 혹 Maven에서 nemo의 모든 dependency들을 처리하지 못하는 것일까요?

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation

p.s. Logger(slf4j)를 사용하지 않고 일반적인 System.out.println()을 사용하였습니다.

final project report, code, survey paper reminder

한 학기 동안 공부하느라 수고 많이 했습니다.

혹시 아직 final project report, code (repo url?)를 안 낸 팀은 나에게 메일로 제출해 주어요.

혹시 survey paper 아직 안 낸 학생도 제출하도록 해요.

BeamSQL 질문

Homework.java의 예시에서 applySQLLogic() 안의 임의로 만들어진 PCollection inputTable에 대한 SQL query를 날릴 때 그 table의 이름(PCOLLECTION)은 어떻게 정해지나요?

HW2 마감 변경 5일 -> 9일

오늘 수업 시간에서 많은 학생들이 HW2 마감 변경을 요청해서 마감을 5일 6시에서 9일 6시로 변경합니다.

데이터셋 점수 관련 질문

데이터셋 점수(2/2)와 관련하여 질문드립니다.

문제에서 2개의 데이터셋을 찾아 프로세싱하라 되어있는데요.

하나의 데이터셋에서 2개의 .csv 파일을 읽어 2개의 table을 프로세싱하여 조인하는 경우도 full credits를 받을 수 있는 것인가요?

아니면 하나의 key를 공유하는 서로 다른 2개의 dataset들을 찾아야만 하는 것인가요?

REEF InjectionException Error

Spark에서는 정상 작동이 확인된 Beam 코드를 Nemo에서 실행 중 REEF에서 InjectionException (Could not invoke constructor: new NettyMessagingTransport) 이 발생하였습니다.

정상 종료되지 않은 앞서 실행된 Nemo와 포트가 충돌이 발생된다 생각됩니다.

이런 경우 어떻게 처리 할 수 있을까요? 아래 에러 메시지를 첨부하겠습니다.

java.lang.IllegalStateException: TcpPortProvider could not find a free port.
...
Caused by: org.apache.reef.wake.remote.transport.exception.TransportRuntimeException: Cannot bind to port 0
...
Caused by: java.lang.IllegalStateException: TcpPortProvider could not find a free port.
	at org.apache.reef.wake.remote.transport.netty.NettyMessagingTransport.<init>(NettyMessagingTransport.java:182)

p.s. 조금 전 다시 확인 결과 시간이 지나 포트가 release된 거 같습니다. 현재는 다시 정상 작동이 되는 상태입니다. 감사합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.