Tensorflow 설치

데이터 분석 2018. 12. 11. 17:42 Posted by 정직한 UnHa Kim

Tensorflow 및 Keras 설치는 무척 간단하다


1. 다음 URL에서 'Mcrosoft Visual C++ 2015 Redistributable Update 3'을 설치한다.
   - https://www.microsoft.com/ko-KR/download/details.aspx?id=53587


2 다음 URL에서 지원되는 Python 버전을 확인한다.
   - https://www.tensorflow.org/install/pip


3 위에서 찾은 Python 버전의 설치파일을 다음 URL에서 다운로드 받는다.
   - https://www.python.org/downloads/


4. Python 설치파일 실행.
   - Next 버튼 몇 번 누르면 된다.


5. pip 패키지 설치


   ㄱ. CPU전용

       > python -m pip install --upgrade pip   (우선 pip부터 업그레이드)
       > python -m pip install tensorflow
       > python -m pip install keras jupyter matplotlib (기타 자주 쓰는 패키지들)


   ㄴ. GPU전용 : (tensorflow 대신) tensorflow-gpu 패키지를 설치한 후
        > python -m pip install tensorflow-gpu


        GPU 지원을 위해서 아래에 나온 모듈을 추가로 설치해줘야 한다.
         - CUDA 툴킷 (지원되는 버전에 주의. https://developer.nvidia.com/cuda-zone)
         - cuDNN SDK (지원되는 버전에 주의. https://developer.nvidia.com/cudnn)


6. tensorflow 설치 확인

   > python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"


에러 메시지가 없으면 제대로 설치된 것이다.

(GPU버전의 경우 첫 실행할 때 2분 가량 걸리므로, 응답이 없어도 당황하지 말고 잠시 기다린다.)


7. 쥬피터 노트북에서 데이터 분석 시작.

   > jupyter notebook



직접 경험한 설치 에러.
CPU에서 AVX 명령어를 지원하지 않는 경우에  'DLL 초기화 구동에 실패'했다는 오류가 발생함.
인텔 CPU 식별유틸리티에서 AVX 명령어 지원되지 않는 것이 확인된 경우에는 다음 명령어로 강제로 이전 버전(1.6 미만)을 설치한다.

> pip install 'tensorflow<1.6' (CPU 전용)
> pip install 'tensorflow-gpu<1.6' (GPU 전용)



'데이터 분석' 카테고리의 다른 글

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 Jupyter NoteBook 설치  (0) 2019.07.27
Tensorflow 설치  (0) 2018.12.11
R 언어 첫 인상  (0) 2015.10.01

댓글을 달아 주세요

Xing API 현물 주식 주문 TR 테스트 완료.

GHTS 2018. 6. 25. 12:30 Posted by 정직한 UnHa Kim

Xing API 현물 주식 주문 TR 기능 구현 후,

테스트를 진행하던 중 정정 및 취소 주문에서 에러가 발생해서,

오랜 시간동안 디버깅을 진행했다.


증상

정상 주문TR 실행 후 즉시, 정정 및 취소 주문 TR을 실행할 경우 에러가 발생.

정상 주문TR 실행 후 0.5초 가량 지난 후, 정정 및 취소하면 에러가 없음.


이유

정상 주문TR을 실행한 후 증권사 서버에서 응답을 받았더라도,

거래소 서버에는 아직 등록이 되지 않은 상태에서,

정정 및 취소 주문 TR이 오면 에러가 발생함.

0.5초 가량 기다리면 거래서 서버에도 등록이 되므로,

에러가 발생하지 않음.


해결책 

1. 0.5초 기다린다.

   : 0.02초에 주문이 실행되는 컴퓨터 매매 세계에서 0.5초는 기다리고 있기에는 너무 긴 시간.

   : 뭐라도 해야 한다.


2. 주문 체결 실시간 정보 확인

  : 거래소 서버에 등록이 된 것을 확인해 주는

   실시간 정보(SC0, SC1, SC2, SC3, SC4)를 수신한 이후에 정정 및 취소하면 에러 없음.

  : 실시간 정보가 UDP로 전달되므로, 패킷 로스로 인해서 제대로 전달되지 않을 가능성 존재.

  : 알고리즘이 복잡해 짐.


3. 단순 무식 반복.

  : 정정 및 취소 주문을 낼 때, 

    '잘못된 원주문번호' 내지 '주문 등록 대기 상태'라는 에러가 발생하면,

    정정 및 취소 주문TR 재실행.

 : TR 실행 및 응답은 TCP로 전달되므로, 항상 정확하게 응답을 받을 수 있다.

 : 에러 메시지를 보고 단순 재실행하기에 알고리즘도 간단하다.


3번 '단순 무식 반복' 방식을 채택하여 정정 및 취소 주문 TR 에러 해결.

이로써, 현물 주식 주문에 대한 내부 테스트 및 디버깅을 완료하고,

안정적인 주문 실행을 확인하였다.


처음에 에러 메시지를 제대로 확인하지 않아서 원인을 알지 못해,

DLL방식과 COM방식을 모두 시도해 보다가,

COM방식에서 에러 메시지를 확인하면서 실마리가 풀렸고,

테스트 서버의 에러 메시지에 버그가 있었던 것을 뒤늦게 발견하고 증권사에 수정 요청을 하는 등,

온갖 우여곡절을 겪은 기나긴 디버깅 이었다.


현 상황 : 2018년 6월 25일자로하도록 수정 및 디버깅을 마치고, 소스코드 커밋 완료.


이제 데이터 수집 및 분석을 시작할 단계...

'GHTS' 카테고리의 다른 글

어제, 오늘, 금일, 당일, 전일.  (0) 2019.10.10
소스코드 패키지 통합  (0) 2019.07.27
Xing API 현물 주식 주문 TR 테스트 완료.  (0) 2018.06.25
Xing API에 숨겨진 지뢰 3  (0) 2018.06.07
Xing API에 숨겨진 지뢰 2  (0) 2018.06.07
Xing API에 숨겨진 지뢰 1  (0) 2018.06.07

댓글을 달아 주세요

Xing API에 숨겨진 지뢰 3

GHTS 2018. 6. 7. 11:48 Posted by 정직한 UnHa Kim

Xing API를 DLL 방식으로 사용할 경우, 

초기화 과정에서 LoadLibrary() 호출은 반드시 Xing API DLL파일이 존재하는 디렉토리에서 해야 한다.


풀어서 쓰자면,


1. Xing API DLL이 설치된 디렉토리로 이동 (기본값은 C:\eBEST\xingAPI\)

2. LoadLibrary() 호출

3. 원래 작업 디렉토리로 복귀.

4. 설정화일 불러들이기 (ID, 암호등 로그인 정보 취득)

5. 로그인 과정 진행.


이렇게 반드시 Xing API 디렉토리로 이동하는 과정이 필요하다.

그렇지 않으면, 서버 접속은 되는 데, 로그인이 안 된다.

(당해보면 상당히 갑갑하다.)


COM방식에서는 이런 문제가 없다.

'GHTS' 카테고리의 다른 글

소스코드 패키지 통합  (0) 2019.07.27
Xing API 현물 주식 주문 TR 테스트 완료.  (0) 2018.06.25
Xing API에 숨겨진 지뢰 3  (0) 2018.06.07
Xing API에 숨겨진 지뢰 2  (0) 2018.06.07
Xing API에 숨겨진 지뢰 1  (0) 2018.06.07
ZeroMQ에서 nanomsg로 이전.  (0) 2016.11.02

댓글을 달아 주세요