본문 바로가기

Deep Learning with Python5

Data Augmentation 데이터 증강(Data Augmentation)은 학습 데이터를 인위적으로 다양하게 만들어서 모델의 일반화 성능을 향상시키는 방법입니다. 데이터증강은 딥러닝모델에서 매우 중요한역할을 하며, 주어진 데이터에서 다양한 패턴을 학습할수 있도록 도와줍니다. 일반적으로 이미지 분류 및 객체 감지 문제에서 많이 사용되는 증강 기법은 다음과 같습니다. 좌우 반전: 이미지를 좌우로 반전하여 새로운 이미지를 만듭니다. 회전: 이미지를 일정 각도만큼 회전시켜 새로운 이미지를 만듭니다. 이동: 이미지를 상하좌우로 이동시켜 새로운 이미지를 만듭니다. 확대/축소: 이미지를 확대하거나 축소하여 새로운 이미지를 만듭니다. 가우시안 노이즈 추가: 이미지에 가우시안 노이즈를 추가하여 새로운 이미지를 만듭니다. 밝기 조절: 이미지의 밝기.. 2023. 4. 15.
Train, Test and Validation 구분: take() & skip() Dataset API로 되어 있는 데이터셋을 train, test, validation으로 구분하는 방법은 다양합니다. 그러나 일반적으로는 tf.data.Dataset API의 take()와 skip() 함수를 사용하여 구분하는 것이 효율적입니다. 이유는 다음과 같습니다. take()와 skip() 함수를 사용하여 데이터셋을 구분하면 데이터를 복사하지 않아도 됩니다. 이는 메모리를 효율적으로 사용할 수 있게 합니다. tf.data.Dataset API를 사용하여 데이터셋을 구성하면 데이터를 미리 로드하여 처리할 수 있습니다. 이는 대용량 데이터셋에서 필요한 부분만 불러와 처리할 수 있게 하여 불필요한 메모리 사용을 줄일 수 있습니다. 또한 tf.data.Dataset API를 사용하면 데이터셋을 셔플링하.. 2023. 4. 10.
TensorFlow with 모델 학습 과정 by GPU TensorFlow에서 모델 학습 과정에서 GPU를 사용하는 방법은 크게 두 가지로 나뉩니다. tf.device를 이용한 명시적 GPU 사용 tf.device를 이용하여 연산을 수행할 디바이스를 지정할 수 있습니다. GPU를 사용하고자 하는 경우, /GPU:0와 같은 문자열을 지정합니다. 이후에 이용하는 모든 연산들은 GPU에서 수행됩니다. tf.distribute를 이용한 자동 GPU 분배 tf.distribute 모듈은 TensorFlow 2.0부터 지원되는 분산 학습 기능을 제공합니다. tf.distribute.MirroredStrategy 클래스는 하나의 모델을 여러 GPU에서 병렬로 학습할 수 있도록 지원합니다. 이 방법을 이용하면 명시적으로 GPU를 지정하지 않아도, TensorFlow가 자동.. 2023. 4. 8.
13_케라스 합성곱 층 from tensorflow import keraskeras.layers.Conv2D(10, kernel_size=(3, 3), activation='relu')Out[1]:Conv2D 클래스keras.layers.Conv2D(10, kernel_size=(3, 3), activation='relu')첫번째 매개변수: 필터(도장)의 개수kernel_size: 필터에 사용할 커널의 크기 지정위에 2개는 반드시 지정해야 하는 매개변수마지막 활성화 함수 지정일반적으로 특성맵은 활성화 함수를 통과한 값이다.커널의 크기, 역시 하이퍼파라미터 => 보통 (3, 3) 혹은 (5, 5)합성곱 신경망합성곱 층을 1개 이상 사용한 인공 신경망패딩과 스트라이드(4, 4) 크기의 입력(3, 3) 크기의 커널을 적용하여 (2,.. 2022. 8. 17.