사용 가능한 device 목록 확인
# 런타임 유형 None 일때
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 9239564788581612017
xla_global_id: -1]
Tensorflow에 할당된 GPU 목록 확인
# tensorflow에 할당된 GPU 목록 확인
import tensorflow as tf
tf.config.list_physical_devices('GPU')
[]
# 런타임 유형 None 일때
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 18301612857726933975
xla_global_id: -1, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 14415560704
locality {
bus_id: 1
links {
}
}
incarnation: 5233574171229353908
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"
xla_global_id: 416903419]
GPU가 여러개 일때 원하는 GPU 할당
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
Tensorflow에 할당된 GPU 목록 확인
# tensorflow에 할당된 GPU 목록 확인
import tensorflow as tf
tf.config.list_physical_devices('GPU')
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
기존의 main.py 코드
import os
import sys
import logging
import argparse
import utils
import json
import data_preprocess
from environment import Environment
from agent import A3CAgent
if __name__ == "__main__" :
# argparse 설정
parser = argparse.ArgumentParser()
parser.add_argument('--name', default=utils.get_time_str())
parser.add_argument('--code', type=str, default='005380')
parser.add_argument('--mode', choices=['train', 'test', 'update'], default='train')
parser.add_argument('--start_date', default='20180601')
parser.add_argument('--end_date', default='20221220')
parser.add_argument('--lr', type=float, default=0.0001)
parser.add_argument('--n_steps', type=int, default=5)
parser.add_argument('--balance', type=int, default=100000000)
args = parser.parse_args()
# 학습기 파라미터 설정
output_name = f'{args.code}_{args.name}'
...
...
...
esaydict를 사용한 argparser 입력 코드
import os
import sys
import logging
# import argparse
import utils
import json
import data_preprocess
from environment import Environment
from agent import A3CAgent
# Colab 환경을 위한 argparser 처리
import easydict
if __name__ == "__main__" :
args = easydict.EasyDict({ "name": utils.get_time_str(), "code": '005380',
'mode' : 'update', 'start_date' : '20180601',
'end_date' : '20221220', 'lr' : 0.00004, 'n_steps' : 10,
'balance' : 100000000})
# 학습기 파라미터 설정
output_name = f'{args.code}_{args.name}'
...
...
...
import easydict
args = easydict.EasyDict({argparser인자 입력})