반응형


1. 설치 
   1.1 설치 경로 : https://www.anaconda.com/products/individual
   1.2 shell file 권한 및 실행
       $ chmod +x Anaconda*.sh && ./Anaconda*.sh
   
2. 관리
   2.1 conda version 확인
       $ conda --version
   2.2 사용 가능한 python 버전 확인
       $ conda search python
   2.3 conda 생성
       $ conda create -n python36conda python=3.6
   2.4 conda 활성화
       $ conda activate python36conda
   2.5 conda 삭제
       $ conda env remove -n python36conda
   2.6 환경 yml 파일로 부터 만들기(yml의 name 필드로 환경 이름이 새로 생성됨)
       $ conda env create -f env.yml
   2.7 conda 환경 yml 파일로 exporting
       $ conda env export > environment.yaml 

반응형
반응형

True Positive  : 

    + 긍정적 참

    + A를 찾아야 하는데 A가 들어왔을때 A라고 답변함(긍정할 것을 긍정함)

    + 찾아야 할 것을 잘 찾음
True Negative  : 

    + 부정적 참

    + A를 찾아야 하는데 B가 들어왔을때 B라고 답변함(부정할 것을 부정함)

    + 찾지 말아야 할 것을 찾지 않음
False Positive : 

    + 긍정적 거짓

    + A를 찾아야 하는데 A가 들어왔는데 B라고 답변함(긍정할 것을 부정함)

    + 찾아야 할 것을 찾지 않음
Fase Negative  : 

    + 부정적 거짓

    + A를 찾아야 하는데 B가 들어왔는데 A라고 답변함(부정할 것을 긍정함)

    + 찾지 않아야 할 것을 찾음



Accuracy : 

    + True Positive / Total dataset 
    + 전체 시도 횟수 중 참의 값 즉 정답률
    + Data들의 결과가 Balence 할 때에 유용함

Recall : 

    + True Positive / Total Given Data(True Positive + False Positive)
    + 주어진 전체 값들 중에서 정답률(A부터 D까지 주어졌을 때에 A를 찾을 확률)

Precision : 

    + True Positive / Total Dataset(True Positive + False Negative)
    + 특정 값에 대해서 예측한 값들 중에서 정답률(A만 주어졌을 때에 A라고 찾을 확률)

F1 Score : 

    + 2 X ((Precision X Recall) / (Precision + Recall))
    + Data가 Balence하지 않을때에 Accuracy보다 더 유용함(Harmonic mean/average)
    + Precision과 Recall의 조화평균

IoU :

    + True Positive / (True Positive+False Positive+False Negative)
    + 찾은것(정답이든 아니든) 중에 실제 정답률

AP : 

    + PR곡선(Precision, Recall)을 그렸을떄, 근사되는 넓이

mAP : 

    + (class1 AP + class2 AP + ... + classN AP)/N

반응형
반응형

현재 활성화된 컨테이너 확인

# docker ps


모든 활성화된 컨테이너 확인

# docker ps -a


컨테이너 삭제
방법 1 :

# docker rm {container id or container name}

방법 2 :

# docker container rm {container id or container name}

 

이미지 리스트

# docker images

 

이미지 삭제

# docker rmi {image id or image name}


컨테이너 삭제 까지 일괄 동작

# docker rmi -f {image id or image name}


이미지 생성(빌드)
방법 1(정해진 이름으로 생성)

# docker build -t {Image Name} .

방법 2(Random 이름으로 생성)

# docker build .


Container 생성

# docker run -it --name {container name} -v {Local Path}:{To be mounted host path} {Container Name} {Shell ex./bin/bash}


중지된 Container 재시작

# docer start {container name or id}


Container 재접속

# docker attach {container name or id}



반응형
반응형

 

 

NFS 연결이 특정 서버에서만 안되는 현상을 발견하였다.

Tcpdump를 떠보니 특정 단계까지만 진행 후 다시 처음부터 재시도가 반복되는것이 확인 되었다.

 

저 단계까지만 진행하고 동일한 단계를 계속 반복하여 저 패킷이 뭔가 봤더니 Server Response Packet인데

내용을 보니 지원 버전이 아닌 버전으로 요청하는게 확인되었다.

Response에서는 최소 3, 최대 4버전까지 지원한다고 하지만 장비에서는 계속 2버전의 연결을 요청하여 Terminate시켜지고 다시 재 접속을 반복하는 것이었다.

 

서버에서는 아래의 명령어로 몇버전의 nfs 서비스가 구동되는지 확인 가능하다.

$ rpcinfo | egrep "service|nfs"

 

2버전이 없는것이 확인된다.

 

/etc/default/nfs-kernel-server 파일에 아래와 같은 옵션을 추가해준다

RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

 

그다음 서비스를 Restart 시켜준다

$ service nfs-kernel-server restart

 

다시 현재 서비스 되는 버전을 확인한다.

 

 

Version 2에 대해 서비스가 추가되는 것이 확인되었다.

이전에 NFS 연결이 안되던 장비에서 정상적으로 NFS 연결이 되는 것을 확인한다.

 

반응형
반응형

최대 설정을 하지 않으면 성능적인 차이를 보임.

다만 실제 사용되는 코어 갯수는 확인을 해봐야함.

코어가 두개만 돌고 있을 경우 NVidia Desktop(GUI)에서 우측 상단에 보면 코어 갯수 설정 모드에서 실제 동작 코어 갯수를 동작 시킬 수 있음

현재 사용되는 코어는 top으로 process 갯수를 확인해도 되고 ,

tegrastats 으로도 확인할 수 있음

$ sudo nvpmodel -m 0
$ sudo jetson_clocks
$ (/usr/bin/jetson_clocks)

 

반응형
반응형
  1. Caffe docker 설치
    GPU 버전의 Caffe와 같은 경우 nvidia-docker 플러그인이 추가적으로 설치 되어 있어야 함
    $ docker pull bvlc/caffe:cpu // CPU only
    $ docker pull bvlc/caffe:gpu // GPU only(cuDNN Caffe)

  2. CUDA 설치
    CUDA 및 cuDNN 라이브러리 관련 docker 이미지 및 docker shell 실행
    $ nvidia-docker pull nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04
    $ nvidia-docker run -it -v /data:/data nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04 /bin/bash --name myname

  3. Caffe 빌드에 필요한 패키지 설치(docker 내 sudo 권한 필요없음)
    첫 실행시 업데이트 정보 최신화
    $ apt-get update;apt-get upgrade
    $ apt-get install build-essential cmake libblas-dev libboost-all-dev libprotobuf-dev libgoogle-glog-dev libgflags-dev libhdf5-dev libhdf5-serial-dev libopencv-dev liblmdb-dev libleveldb-dev libsnappy-dev protobuf-compiler libatlas-dev libatlas-base-dev git

  4. Caffe 소스코드 다운로드
    $ git clone https://github.com/bvlc/caffe /data/caffe
    $ cd /data/caffe && git checkout tags/1.0
    $ cp Makefile.config.example Makefile.config

  5. Makefile에서 cuDNN 설정

    # cuDNN acceleration switch (uncomment to build with cuDNN).

    USE_CUDNN := 1

  6. caffe 빌드 및 설치
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make all
    $ make install

반응형
반응형

 

MacOS를 업데이트 하려는데 

"MacOS XXXX 설치.app 복사본이 손상되었기 때문에 MacOS를 설치하는데 사용할 수 없습니다" 라는 메시지가 나오면,

다시 업데이트 버튼을 눌러도 같은 오류 메시지만 나오고 방법이 없다.

 

그럴때에는 Finder를 열고 좌측에 응용 프로그램을 열어서

찾기로 "macos" 라고 찾으면 "MacOS <Version> 설치.app"이라는 파일이 나온다.

 

해당 파일을 삭제 후에 환경 설정에서 다시 업데이트 버튼을 누르면 다시 다운로드 부터 시작 하게 된다.

다만 이상한 점은 다운 받은건 8기가가 넘는데 해당 응용프로그램은 1.8메가라는 사실...

다운로드 받은 8기가는 어떻게 되는건지는 모르겠다.

반응형
반응형

pyinstaller를 통해서 Python Script를 Executable Binary로 변환할 수 있다.

 

1. 설치 방법

>> pip install pyinstaller  


2. pyinstaller로 Python Script를 Binary로 변경

>> pyinstaller --onefile <filename>.py 

 

3. 실행 결과

  • "__pycache__", "build", "dist" 등의 폴더가 생기고 "<filename>.spec"등의 파일이 생성된다.
  • dist 폴더 안에 exe 파일이 생성되어 있다.

 

4. Console Message가 출력되지 않는 바이너리 만들기

>> pyinstaller --onefile --noconsole <filename>.py



5. 실행 파일 아이콘 넣기

>> pyinstaller --icon=<icon filename>.ico --onefile --noconsole <filename>.py 



6. icon image converting site

https://icoconvert.com/

 

반응형
반응형

 

 

 

  내부 SSL Inspection 솔루션 등을 사용할 경우 중간 인증서가 변경되기 때문에 pip를 사용하는데 문제가 있다.

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)': /simple/pyqt5/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)': /simple/pyqt5/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)': /simple/pyqt5/
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)': /simple/pyqt5/
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)': /simple/pyqt5/
Could not fetch URL https://pypi.python.org/simple/pyqt5/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/pyqt5/ (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)) - skipping
Could not find a version that satisfies the requirement pyqt5 (from versions: )
No matching distribution found for pyqt5

 

 


  아래와 같은 오류가 출력되며 pip를 사용할 수 없기 때문에 이럴경우 신뢰할 수 있는 사이트에 대해서 옵션으로 설정하여 SSL인증을 사용하지 않고 pip를 사용할 수 있다.

>> pip --trusted-host <site name> <pip option> <pip option parameter>

 

 

 

pyqt5를 설치하는데에는 아래의 경로를 등록하여 사용하였다.

>> pip --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org install pyinstaller

 

반응형
반응형

PyQt5 설치

>> pip install pypt5 


Qt Designer 설치

>> pip install pyqt5-tools 


Qt Designer 위치

C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python<VERSION>\Lib\site-packages\pyqt5_tools\designer.exe  

 

UI 파일을 Python 파일로 변환 방법

>> pyuic5 -x <UI Filename>.ui -o <Python Filename>.py

 

반응형

+ Recent posts