""" ------------------------------------------------------------------------- File: gpu_config.py Description: 외부 GPU 연결 예제 사용법 : python -m app.AI_modules.gpu_utils.example Author: 소지안 프로 Created: 2026-02-02 Last Modified: 2026-02-02 ------------------------------------------------------------------------- """ def example_local_gpu(): """로컬 GPU 사용 예제""" from .gpu_config import check_gpu_status, setup_tensorflow_gpu print("\n" + "=" * 50) print("Example 1: Local GPU Setup") print("=" * 50) # GPU 상태 확인 check_gpu_status() # TensorFlow GPU 설정 gpus = setup_tensorflow_gpu(memory_limit=4096) # 4GB 제한 if gpus: print("\n[Ready] GPU is ready for training") else: print("\n[Warning] No GPU available, will use CPU") def example_remote_gpu(): """원격 GPU 서버 연결 예제""" from .remote_gpu import RemoteGPUClient print("\n" + "=" * 50) print("Example 2: Remote GPU Connection") print("=" * 50) # 원격 서버 설정 (실제 값으로 변경 필요) client = RemoteGPUClient( host='YOUR_GPU_SERVER_IP', # 예: '192.168.1.100' username='YOUR_USERNAME', # 예: 'ubuntu' port=22, key_path='~/.ssh/id_rsa' # SSH 키 경로 ) # 연결 테스트 if client.connect(): # GPU 상태 확인 client.check_gpu() # 원격 명령어 실행 client.run_command('python --version') else: print("[Failed] Could not connect to remote server") def example_remote_training(): """원격 GPU 학습 예제""" from .remote_gpu import SSHGPURunner print("\n" + "=" * 50) print("Example 3: Remote Training") print("=" * 50) # 설정 (실제 값으로 변경 필요) runner = SSHGPURunner( host='YOUR_GPU_SERVER_IP', username='YOUR_USERNAME', remote_project_dir='/home/user/projects/goheung', key_path='~/.ssh/id_rsa' ) if runner.connect(): # 1. 프로젝트 동기화 # runner.sync_project('./app') # 2. 학습 실행 # runner.run('python -m app.AI_modules.DeepLabV3.train --epochs 50') # 3. 백그라운드 학습 (연결 끊어도 계속 실행) # runner.run_background('python -m app.AI_modules.DeepLabV3.train --epochs 50') # 4. 로그 확인 # runner.check_training_log() # 5. 결과 다운로드 # runner.download_model('DeepLabV3-Plus.h5', './models/') print("[Ready] Remote training setup complete") else: print("[Failed] Could not connect to remote server") def example_colab_config(): """Google Colab GPU 설정 예제 (Colab에서 실행)""" config_code = ''' # Google Colab에서 실행할 코드 # 1. GPU 런타임 확인 !nvidia-smi # 2. Google Drive 마운트 from google.colab import drive drive.mount('/content/drive') # 3. 프로젝트 클론 또는 업로드 # !git clone https://github.com/your/repo.git # 또는 드라이브에서 복사 # !cp -r /content/drive/MyDrive/goheung /content/ # 4. 의존성 설치 # !pip install tensorflow keras numpy matplotlib # 5. 학습 실행 # %cd /content/goheung # !python -m app.AI_modules.DeepLabV3.train --image_path /content/data/Images/ # 6. 결과 저장 # !cp DeepLabV3-Plus.h5 /content/drive/MyDrive/models/ ''' print("\n" + "=" * 50) print("Example 4: Google Colab Configuration") print("=" * 50) print(config_code) if __name__ == '__main__': print("GPU Connection Examples") print("=" * 50) # 로컬 GPU 확인 try: example_local_gpu() except Exception as e: print(f"[Error] {e}") # 다른 예제는 설정 후 주석 해제하여 사용 # example_remote_gpu() # example_remote_training() # example_colab_config()