본문 바로가기
  • Hello_
728x90
반응형

Deep Learning7

앙상블 학습 방법 - Random Forest, AdaBoost, 본 포스팅에서는 앙상블 학습 방법 중 bagging과 boosting에 대해 설명하고 해당 방법 중 대표 격인 방법들을 설명하고자 합니다. Bagging vs Boosting ensemble learning은 서로 다른 모델들의 결과들을 고려 및 종합하여 보다 유연하고 데이터에 덜 민감하도록 구성해 줍니다. 결국에는 모델이 데이터에 less bias, less variance 하도록 하는 게 주목적이라고 보시면 됩니다. 두가지 유명한 앙상블 방법으로는 크게 bagging과 boosting이 있습니다. Bagging : 병렬적인 방법으로 각 모델이 데이터의 랜덤 한 서브 데이터셋으로 학습됩니다. Boosting : Bagging과는 반대의 개념으로 직렬적이며, 각 모델이 이전 모델의 오류로부터 학습이 됩니.. 2023. 2. 28.
[Pytorch] Dataloader의 num_workers와 memory의 연관성 본 포스팅에서는 Dataloader의 인자 중 하나인 num_workers와 swap memory의 연관성에 대해 얘기하고자 합니다. num_workers - swap memory 연관성 요즘 3D 영상 학습을 대용량으로 진행하다 보니 swap memory가 다 차서 오류가 발생하거나 알고리즘 속도가 저하되는 경우가 굉장히 많아서 스트레스를 받고 있는 상황인데요. 물론 이를 방지하기 위해 gc.collect를 활용하지만, for 문 안에 모두 넣고 도배를 해봐도 swap memory 문제가 계속적으로 발생하더군요.. 오류는다음과 같이 발생했습니다. "RuntimeError: Pin memory thread exited unexpectedly"로 런타임 오류가 발생했습니다. 그리고 혹시나 했는데swap m.. 2023. 2. 22.
[Python_Error] TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. 본 포스팅은 업무 중 발생했던 오류들을 예시를 통해 어떻게 해결을 했는지 작성하고자 합니다. TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. 위 오류는 cuda device로 선언된 변수와 cpu device로 선언된 변수들 간에 사칙연산이나 np 함수를 사용할때 발생한 오류입니다. 오류가 발생한 경로로 가서 해당 코드만 돌려보면 역시나 문제가 발생합니다. "np.maximum(x1[i] - w1[i] / 2., x2 - w2 / 2.)"에서 오류가 발생했으니, 코드 내에 변수들의 데이터 형태를 살펴봅시다. x1과 w1이 일반 스칼라 값이며,.. 2023. 2. 20.
[Pytorch] torchvision을 활용하여 dataset 다운로드하기 본 포스팅에서는 pytorch의 torchvision을 활용하여 범용적으로 사용하는 데이터셋을 다운로드하고 이를 시각화 및 분석해 보겠다. torchvision torchvision은 컴퓨터 비전에서 많이 사용되는 데이터셋, 모델 아키텍처, 이미지 변환 등의 함수들을 제공하는 pytorch 라이브러리이다. torchvision의 세 가지 중점적인 기능 중 오늘은 데이터셋에 대해 말해보겠다. torchvision.datasets를 활용하여 오픈 데이터셋을 다운로드할 수 있으며, 컴퓨터 비전에서 많이 사용되는 오픈 데이터셋으로는 MNIST, CIFAR10, CIFAR100, STL10, SVHN 등이 있다. 위 데이터셋들 중 MNIST, CIFAR10, STL10, SVHN을 직접 다운로드해 보고 시각화 및.. 2023. 2. 2.
728x90
반응형