반응형
컴퓨터 비전 기반 딥러닝 알고리즘의 핵심이 되는 CNN(Convolutional Neural Networks)의 연산은 기본적으로 CPU나 GPU 모두에서 가능하지만, 연산 프로세서의 메커니즘 차이로 인해 효율성에서는 큰 차이를 보이게됩니다. 여기서 우세를 보이는 GPU의 성능으로 인해 현대 딥러닝 시스템의 대부분은 GPU 연산을 기본을 전제로 구동되고 있습니다.
서론이 길었습니다. 이번 포스팅에서는 3D 그래픽 게임과 같이 딥러닝 시스템을 적용할때 발생하는 연산 프로세서 선택 및 성능 설정을 위해 선행되어야하는 GPU, CPU 사용가능 여부을 확인하는 코드를 살펴보도록 하겠습니다.
1. MAIN CODE
# 필요 라이브러리 설치
pip3 install cpuinfo
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 8 13:31:52 2020
@author: Deep.I Inc.
"""
import cpuinfo
from tensorflow.python.client import device_lib
# 디바이스 체크
def deviceInfo():
# 프로세서 리스트
device = device_lib.list_local_devices()
for i in device:
# GPU 프로세서 확인
if 'GPU' == i.device_type:
# 모델명 확인
k = i.physical_device_desc.split(',')[1].split(':')[1][1:]
print("NVIDIA 칩셋 그래픽 카드 확인\n모델명: {}".format(k))
try : k
# CPU 프로세서 확인
except :
k = cpuinfo.get_cpu_info()['brand_raw']
print("NVIDIA 칩셋 그래픽 카드 없음\n대체 프로세서 모델명: {}".format(k))
deviceInfo()
tensorflow 내장 함수를 통해 GPU 칩셋을 확인하고, GPU 칩셋이 없을경우, cpuinfo에서 메인 프로세서 정보를 불러오는 구조입니다. 저는 진행중인 프로젝트에서 구동 환경에 따른 딥러닝 설정을 하기위해 이를 응용하여 사용하였습니다.
# 머신러닝 프로젝트 제작, 상담 및 컨설팅 / 머신러닝 접목 졸업작품 컨설팅
# 데이터 가공, 수집, 라벨링 작업 / C, 파이썬 프로그램 제작
# email : deepi.contact.us@gmail.com
# site : www.deep-i.net
반응형
'Python > Tensorflow' 카테고리의 다른 글
[Tensorflow] VGG16 모델을 이용하여 CNN 이미지 분류기 학습하기 (0) | 2020.12.27 |
---|---|
[Tensorflow] 사전 학습된 VGG16 모델로 이미지 분류하기 (0) | 2020.12.13 |
[Tensorflow] 사전 학습된 VGG16 모델에서 특징맵 추출하기 (0) | 2020.10.23 |
[Tensorflow] 텐서플로우에서 사전 학습된 VGG16 모델 불러오기 (0) | 2020.07.10 |
[Tensorflow] 아나콘다 가상환경에서 텐서플로우 설치하기 (0) | 2020.07.05 |