반응형

 

Docker 설치 관련 내용은 생략함

 

1. TensorRT 버전 확인 

https://docs.nvidia.com/deeplearning/tensorrt/container-release-notes/running.html

 

::

About this task On a system with GPU support for NGC containers, when you run a container, the following occurs: The Docker engine loads the image into a container which runs the software. You define the runtime resources of the container by including the

docs.nvidia.com

Container Release Node에서 TensorRT Container의 각 Release 버전과 CUDA 버전, Ubuntu 버전 등의 자신의 필요로 하는 버전과 일치하는 버전을 확인한다.

 

2.  Docker Run

Docker run 명령어로 Image Download 및 shall 실행한다.

$ docker run --gpus <GPU> -it --name <NAME>  nvcr.io/nvidia/tensorrt:<Version>-<pyver> bash

예로 실행은 아래와 같다

$ docker run --gpus '"device=2"' -it -v /home/host/host_dir:/root/share_dir --name tensorrt_23.01_py3  nvcr.io/nvidia/tensorrt:23.01-py3 bash

 

3. Container 정상 동작 확인

-it 옵션으로 실행을 했기 때문에 바로 container 에 attach 및 shell이 실행된다
각 명령어로 정상 동작 하는지 확인한ㄷ,

$ nvidia-smi # GPU 연결 및 CUDA Driver 정상 동작 확인
$ pip list | grep tensorrt # Tensor rt 버전 확인

 

4. Docker containe

Docker run 명령어로 container는 이미 생성되었다. 아래의 명령어로 생성된 container를 확인한다.
아래의 명령어중 -a를 붙여야 현재 container의 status가 start 상태가 아니더라도 확인이 가능한다.

$ docker container ls -a # Container 전체 리스트

이후 다시 접속하기 위해서는 일반 docker container 와 같이 start/executing 을 통해 다시 접근 가능하다.

$ docker start <container name or hashnum>
$ docker exec -it <container name or hashnum> /bin/bash​
반응형
반응형
  • nvidia-smi 사용
$ nvidia-smi

  • nvcc 사용 
$ nvcc --version

 

"nvcc --version"의 버전과 "nvidia-smi"의 버전이 일치를 꼭 하는 것은 아님

  • "nvidia-smi"는 NVIDIA GPU Driver에 의해 설치가 되며 GPU Driver에 의한 버전이 표시됨
    "nvcc --version"은 CUDA Toolkit에의해 설치가 되며 CUDA Runtime Version이 표시가 됨
반응형
반응형

1. Pre 

  • NSight는 NVidia에서 제공하는 Profiling Tool로 성능 최적화 등의 업무에 프로파일링 툴로 사용되기 유용하다.
  • 원격으로 SSH를 제공하기 때문에 Mac에 설치해서 서버에서 Profiling을 동작시키려고 하였으나, 정상적으로 동작되지 않아서 서버에 직접 설치하였다.
  • Site : https://developer.nvidia.com/nsight-systems

2. Download 
    다양한 포멧을 제공하는데, run파일을 이용하여 설치함
    https://developer.nvidia.com/nsight-systems/get-started

3. Execution
    $ chmod +x ./NsightSystems-linux-public-2023.2.1.122-3259852.run
    $ ./NsightSystems-linux-public-2023.2.1.122-3259852.run
    << ACCEPT 및 설치 경로 지정하면 해당 경로에 압축을 해제함 >>

4. Enviornment Setting
  임시적인 것으로 .bashrc 등에 추가하여 부팅시마다 적용되게 할 수 있으며, 실행을 했을 때에 CUDA 버전 관련해여 NSight의 오류 메시지 중에 event_paranoid를 1로 설정하라고 해서 이후에 1ㄹ로 변경하였음(참고)   
   $ echo kernel.perf_event_paranoid=2
   $ echo 2 > /proc/sys/kernel/perf_event_paranoid

5. 실행 후 설정
   실행후에 localhost의 경우 Project에서 별도의 설정없이 localhost connection으로 바로 사용가능
   Remote의 경우 SSH의 설정등을 위한 Network Information을 작성후에 연결 필요

   Target application 부분에 실행 기준 경로와 Command를 작성하면 바로 Start를 눌러 테스트가 가능한데,
   그 하단에 Enviornment vriables의 설정이 필요함. XAUTHORITY, LD_PRELOAD, DISPLAY 등의 설정이 비워져 있으며,
   영상 출력등의 기능이 포함될 경우 오류로 실행이 되지 않는 것을 확인함.
    이럴 경우 Terminal에서 변수를 그대로 입력해주면 정상적으로 동작이 실행되는 것을 확인할 수 있음
    예)
         $ echo $XAUTHORITY
         $ echo $LD_PRELOAD(나오는게 없어서 기본값 그대로 사용함(--> {LD_PRELOAD}:{}
         $ echo $DISPLAY

반응형

'개발, 웹, 블로그 > DeepLearning 상식' 카테고리의 다른 글

CUDA Version 확인 방법  (0) 2023.08.25
nvidia driver downgrade/재설치  (0) 2023.08.07
Cuda driver downgrade  (0) 2023.08.07
반응형

1. nvidia driver matching 버전 확인
 cuda-compatibility 버전 확인(https://docs.nvidia.com/deploy/cuda-compatibility/)

2. nvidia driver 삭제

$ sudo apt-get remove --purge nvidia-*
$ sudo apt-get autoremove
$ sudo apt-get update
$ reboot

3. driver 확인

$ ubuntu-drivers devices

4. Repository 추가 및 driver 설치

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt-get install nvidia-driver-[Version Number]
$ reboot

 

반응형
반응형

cuda 12.2를 사용중인데 nvidia nsight를 사용하려고 하니 미지원 버전이라고 뜬다.

nvidia developer zone에서 nsight(https://docs.nvidia.com/nsight-systems/Archives/index.html)의 Latest(2023.2)에서 확인할 경우 Cuda Support version이 11 버전대로 나와서, 마지막 버전인 11.8을 설치해보려고 한다.
Old version으로 CUDA driver를 downgrade해야할 것 같다.

 

CUDA toolkit download 페이지로 가서 우측 하단에 "Archive of Privious CUDA Release"페이지로 들어간다.

https://developer.nvidia.com/cuda-downloads

 

CUDA Toolkit 11.7 Downloads

Get the latest feature updates to NVIDIA's proprietary compute stack.

developer.nvidia.com

https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

 

1. 기존 버전 삭제 및 Reboot

$ sudo apt-get purge cuda* && sudo apt-get autoremove && sudo apt-get autoclean && sudo rm -rf /usr/local/cuda*
$ reboot

2. 설치 방법(Web download 및 shell 명령어로 설치)
 NVidia의 설치 방법에 보면은 마지막 명령어가 "sudo apt-get -y install cuda"로 되어있는데, 그대로 명령어를 사용할 경우 최신 버전이 설치가 된다. 설치 하고자 하는 버전을 명시해줘야 해당 버전이 설치가 된다.

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
$ sudo dpkg -i cuda-keyring_1.0-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-11-8

3. Reboot

$ reboot

4. CUDA 환경 변수 확인 및 수정
~/.bashrc 에서 아래의 export 추가

$ vi ~/.bashrc

cuda에 softlink로 버전을 사용하게끔되어 있기 때문에, 해당 softlink로 경로를 잡아준다
(버전 명시 경로로 환경 변수를 잡아줄 경우 버전 변경시 마다 bashrc 파일의 수정이 필요로 함)

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

재적용

$ source ~/.bashrc

5. 버전 확인

$ nvcc --version

 

@ 주의 : nvidia-driver와 compatible version 으로 설치해야됨

반응형
반응형

nvidia driver 삭제

$ sudo apt-get purge nvidia* ( or sudo apt-get remove --purge nvidia*
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo rm -rf /usr/local/cuda*

 

nvidia driver 설치

$ ubuntu-drivers devices // Driver 목록 확인
$ sudo add-apt-repository ppa:graphics-drivers/ppa // ppa repository 추가
$ sudo apt update
$ sudo apt-get install nvidia-driver-<VER>
반응형
반응형


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

반응형
반응형

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

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

코어가 두개만 돌고 있을 경우 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

반응형

+ Recent posts