Dev/Node.js

Node.js & tensorflow 환경 구축

kyeoneee 2017. 4. 29. 01:21
반응형

20170404 node.js 서버구축 해결
-> 지금까지
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE

이러한 unhandled 'error'가 여러개 났음
-> port번호 충돌 때문
-> security group에서 inbound 규칙에서 http 규칙을 추가하여 해결 (:443 node.js서버 / :80 php서버)

php서버를 구축하기 전에는 서버가 잘 돌아가도 external에서 접근이 어려웠던 이유는 아직 궁금함....




20170405
AWS 웹 북
AWS ubuntu서버에 tensorflow설치
-> 에러나는데 이유를 모르겠음




20170406
tensorflow anaconda위에 설치 중 에러발생 -> 내일 완전 처음부터 다시
안드로이드와 통신 공부 -> 소켓 통신서버 예상(http 통신 해야할듯)
-> 문제점 : 텐서플로우는 파이썬인데 node.js로 서버를 생성하면 텐서에서 데이터 어떻게 받아올지?.... 좀 더 생각해봐야 할듯 (차선으로 장고 파이썬서버를 만드는 건?)


socket통신 관련 설명
GPU서버 js파일 위치 : ~/Okey_server
->일단 testapp.




20170407
tensorflow 환경설정중
cuda설치 에러가 발생
해결
-> ubuntu16.x버전에 지원하는 cuda가 다름
-> cuda-repo-ubuntu1604_8.0.61-1_amd64.deb 설치로 해결
cuDNN설치 에러 발생




20170410
cuDNN 설치 에러 해결
-> 우분투 버전에는 맞게 설치하였으나 cuDNN을 scp -i 명령어로 mac terminal에서 전송과정에서 cuDNN파일을 .tgz확장자까지 다 안쓰고 전송하여 에러가 났던 것이었음


Tensorflow
설치는 다 한 것 같으나 텐서플로우 라이브러리를 import하면 에러발생


node.js 웹서버를 백그라운드로 계속 켜놓는 방법을 사용해보려고 했으나 잘 안됨





20170412
클라이언트
{"request" : ["spacing", "modified"],
"spacingData" : "수정할 스트링1",
"modifiedData" : "수정할 스트링2"}

서버
{"response" : ["spacing", "modified"],
"spacing" : "띄어쓰기 된 스트링"
"modified" : {"수정해야할 오타1":
["공백단위 순번","추천단어1","추천단어2",…],
"수정해야할 오타2":
[…],

}
}


자동 띄어쓰기 모델인 파이썬 코드를 불러오는 불러오는 과정에서 에러.
일단 임의의 json string으로 시도중




20170413
tensorflow는 모델이 아직 구축되지 않았으므로 환경설정은 잠시 멈춤
자동 띄어쓰기 모델을 불러오기 성공
rpc가 아닌 chile_process 중 spawn을 사용해 python코드의 자동완성이 완료된 string을 stdout으로 받아와 json format으로 변환하여 애플리케이션에게 보내줌
node.js에서 json 사용하는 법



 일단 Trello에 올렸던 이슈들이다.  정리를 해보고 싶지만..... 이미 지나간 일들. ㅎ

 앞으로를 정리해 보자. 일단 Tensorflow 환경설정 문제는 해결이 안되었다. 인스턴스를 새로 만들어서 다시 처음부터 시작하는 것이 좋을듯. Cuda나 cuDNN버전이 여러개가 설치되어 있는데 이 부분에서도 충돌이 일어나는 것인지, 계속해서 에러가 나는데 구글링, 스택오버플로우 등에서도 답을 찾지 못하고 몇일을 버렸었다... 어차피 Tensorflow팀이 python 3.5버전 이상을 쓰기로 확정하였고, 이에 맞춰서 처음부터 하는 것이 좀더 시간낭비를 줄일 수 있는 방법이라 판단된다.

 Node.js는 어플리케이션과 통신을 하고, Python 코드를 'child_access'모듈을 통해서 불러오는 방법을 사용하였었는데, 앞으로 올라오게 될 코드들이 바뀌게 되면 방법이 바뀔 수도 있을 것 같다. 이 부분에 대해서는 다시 수정이 들어가야 할듯하다.

반응형