TensorFlow 및 keras에서 GPU에 사용되는 설정 작업
2810 단어 TensorFlowkerasGPU
1. 훈련 실행 시 GPU 지정
실행 시 코드 한 줄 추가:
CUDA_VISIBLE_DEVICES=1 python train.py
2. 실행 중 필요에 따라 또는 정량으로 GPU 할당
Tensorflow는 세션을 열 때 몇 줄의 코드를 추가하면 됩니다. Keras는 GPU를 지정하고 필요에 따라 TensorFlow와 다른 용량을 제한합니다. 왜냐하면 Keras 훈련은 봉인되어 있어서 세션에 대한 조작이 좋지 않기 때문입니다.다음은 두 가지 대응하는 조작이다.
keras의 작업:
import os
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
# GPU
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # GPU
config = tf.ConfigProto()
config.gpu_options.allocator_type = 'BFC' #A "Best-fit with coalescing" algorithm, simplified from a version of dlmalloc.
config.gpu_options.per_process_gpu_memory_fraction = 0.3 #
config.gpu_options.allow_growth = True #
set_session(tf.Session(config=config))
TensorFlow의 작업:
# GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
# GPU
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # GPU90%
session = tf.Session(config=config)
# GPU
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
추가: Keras 및 Tensorflow CPU, GPU 강제 사용Keras가 Theano 백엔드를 사용한다면 자동으로 GPU를 사용하지 않고 CPU만 사용해야 합니다. GPU를 시작하려면 Theano 내부 명령을 사용하면 됩니다.
Tensorflow 백엔드의 Keras와 Tensorflow는 자동으로 보이는 GPU를 사용하므로 CPU에서만 실행해야 합니다.인터넷에서 세 가지 방법을 찾았는데 마지막 방법은 나에게 유용하지만 세 가지 모두 다음과 같이 기록했다.
tensorflow의 with tf를 사용합니다.device ('/cpu:0'): 함수입니다.간단한 조작은 앞에서 말한 영역에 모든 명령을 넣는 것이다.
tensorflow를 사용하여 Session을 선언할 때의 매개 변수: tensorflow에서 Session의 일부 매개 변수 설정, 그리고 Keras가 호출한 Tensorflow의 Session을 어떻게 설정하는지Keras를 참조하여 GPU 사용 메모리 크기(Tensorflow backend) 설정 .
Tensorflow, Session 선언 시 device_count={'gpu':0}이면 됩니다. 코드는 다음과 같습니다.
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(device_count={'gpu':0}))
Keras의 경우 백엔드 함수를 호출하여 위에서 정의한 Session과 같이 사용하도록 설정하면 됩니다. 코드는 다음과 같습니다.
import tensorflow as tf
import keras.backend.tensorflow_backend as KTF
KTF.set_session(tf.Session(config=tf.ConfigProto(device_count={'gpu':0})))
다중 스레드와 GPU 메모리 설정 등에 사용할 수 있습니다Keras 참조 GPU 사용 메모리 크기(Tensorflow backend) 설정 .3, 세 번째는 CUDA_VISIBLE_DEVICES 명령행 매개변수, 코드는 다음과 같습니다.
CUDA_VISIBLE_DEVICES="0" python3 train.py
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
EMNIST에서 알파벳 필기 인식EMNIST-letters를 배웠습니다. CODE: DEMO: — mbotsu (@mb_otsu) 은 2017년에 NIST가 공개한 데이터세트입니다. EMNIST ByClass: 814,255 characters. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.