전체 글
-
[BeautifulSoup] 파이썬으로 알라딘 베스트셀러 정적 크롤링하기Python/크롤링 2024. 2. 8. 17:00
BeautifulSoup를 이용한 알라딘 베스트셀러 크롤링하기 파이썬(Python)을 이용한 크롤링에는 크게 두 가지 패키지가 사용됩니다. 동적 크롤링에 주로 사용되는 셀레니움(Selenium)과 정적 크롤링에 사용되는 뷰티풀수프(BeautifulSoup)죠. 전자는 동적 웹페이지(서버에 의해 통제되는 구조)의 경우 효율적으로 데이터를 크롤링할 수 있으며, 후자는 정적 웹페이지(태그가 그대로 표현되는 유형의 구조)의 경우 편리한 크롤링이 가능합니다. 이번에는 뷰티풀수프를 이용해서 알라딘 인터넷서점의 주간 베스트셀러 목록을 크롤링해 보려 합니다. 구조가 간단하고, 단순히 텍스트만 가져오면 되는 작업이라서 초보자 분들도 코드 몇 줄만 이해하면 따라할 수 있을겁니다. 만약 뷰티풀수프가 설치되지 않은 컴퓨터라면..
-
[MediaPipe] Apple Silicon Mac에서 발생하는 문제 해결하기Python/동작인식 2023. 11. 27. 13:50
애플실리콘 맥에서 미디어파이프 문제 해결하기 파이썬(Python)에서 손쉽게 이미지 인식 및 모션캡쳐를 이용할 수 있게 해주는 패키지로 미디어파이프(MediaPipe)가 있습니다. 그런데, 미디어파이프를 애플 실리콘(Apple Silicon, M1 또는 이후 출시된 칩셋) 맥에서 사용할 경우 에러가 발생하는 상황이 있는데요, 이 문제를 해결하기 위해서는 파이썬 버전에 따라 다른 방식으로 미디어파이프를 설치해 줘야 합니다. 파이썬 버전 3.8 이상인 경우 $pip3 install mediapipe-silicon 위 명령어를 이용해 미디어파이프 애플 실리콘 버전을 설치해준 뒤 이용하면 됩니다. 파이썬 버전 3.8 미만인 경우 $pyenv global 3.10.6 $pip3 install mediapipe 위..
-
[Django] Invalid HTTP_HOST header 에러 해결하는법 알아보기Python/웹프레임워크 2023. 11. 23. 09:55
Django에서 Invalid HTTP_HOST header 에러가 날 때 해결하는 방법 알아보기 파이썬(Python)의 웹 프레임워크인 장고(Django)를 이용하면 손쉽게 다양한 기능을 가진 웹사이트를 만들 수 있습니다. 에러가 발생했을 때를 빼고 말이죠. 이번에는 Django에서 Invalid HTTP_HOST header 에러가 났길래 이걸 해결하는 방법을 알아보았습니다. 우선, 에러가 발생하는 케이스를 살펴보도록 합시다. 장고 프로젝트를 만든 뒤, 이리저리 편집하다가 호스팅을 해 보면 접속하자마자 이런 화면을 확인할 수 있는데, 이게 Invalid HTTP_HOST header 에러가 발생한 화면입니다. 이 때는 프로젝트의 settings.py 파일을 수정해서 문제를 해결할 수 있습니다. 알고 ..
-
[TensorFlow] 파이썬 사진 분류 딥러닝 모델 만들기Python/딥러닝 2023. 11. 16. 14:48
텐서플로우를 이용한 사진 분류 딥러닝 모델 만들기 파이썬(Python)의 기계학습 라이브러리는 주로 텐서플로우(TensorFlow)나 파이토치(PyTorch)가 이용됩니다. 최근에는 파이토치의 점유율이 조금 더 높아 보이지만, 예전에는 텐서플로우의 인기가 더 많았던 때가 있기 때문에 각각의 라이브러리를 이용한 문서는 쉽게 찾아볼 수 있지요. 이번에는 그중에서 텐서플로우를 이용해서 딥러닝 모델 구현을 해 보려고 합니다. 말과 사람을 구분하는 작업이예요. 이번 작업에서 사용하는 데이터셋은 horse or human 데이터인데요, Laurence Moroney 에서 제공하는 데이터입니다. CG로 생성된 300*300px 크기의 말 또는 사람이 들어있는 컬러 이미지 데이터이며, 다양한 포즈와 배경이 있어서 일반..
-
[PyTorch] 파이토치 transforms 모듈로 이미지 전처리하기 (torchvision)Python/딥러닝 2023. 10. 17. 16:50
파이토치의 transforms 모듈을 이용한 이미지 전처리 알아보기 (torchvision)파이썬(Python)으로 기계학습(Machine Learning, ML)을 하다 보면, 이미지 데이터를 변환할 때가 생깁니다. 사람은 이미지를 지나치게 확대-축소하지만 않으면 이미지들의 인식과 구분이 가능하지만, 컴퓨터는 같은 이미지라도 크기와 방향 등이 달라지면 다른 이미지로 인식할 수도 있기 때문이지요. 그런데, 우리가 가지고 있는 이미지는 촬영 상황이나 기기, 그리고 배포하는 사람에 따라서 다양한 형태로 주어집니다. 그래서 파이썬 기계학습 모델의 이미지 학습을 할 경우, 이미지의 전처리가 꼭 필요하지요. 이번에는 파이토치의 transforms 모듈을 이용한 이미지 전처리를 알아보겠습니다. transform..
-
[scikit-learn] 사이킷런 라벨 인코딩을 이용한 전처리 (python LabelEncoder)Python/기계학습 2023. 10. 10. 10:27
사이킷런 라벨 인코딩을 이용한 전처리 알아보기 (python scikit-learn LabelEncoder) 파이썬(Python)으로 기계학습(Machine Learning)을 하다보면 데이터를 숫자로 표기해야 할 때가 많습니다. 이 세상의 모든 데이터가 숫자로 잴 수 있다면 이야기가 편해지겠지만, 아쉽게도 문자로 분류된 카테고리형 데이터(Categorical Data)가 있기 때문에 이런 데이터는 전처리(Pre-Processing)를 해 줘야 합니다. 그래서, 이번에 알아볼 전처리 방법은 사이킷런(sklearn)에서 제공하는 전처리 도구인 라벨인코더(LabelEncoder)입니다. 이 도구는 문자 분류를 숫자 분류로 치환해주는 단순한 기능인데요, 이 라벨 인코딩이라는 작업은 은근히 손이 많이 가는 작업..
-
[Transformers] 🤗트랜스포머로 파이썬 이미지 분류기 미세조정하기 (Fine-Tune ViT for Image Classification with 🤗 Transformers)Python/HuggingFace 2023. 9. 25. 13:17
🤗트랜스포머를 사용해 나만의 이미지 분류기 만들기 (ViT) 이 글은 Fine-Tune ViT for Image Classification with 🤗 Transformers 글을 번역 및 재구성했습니다. 이 코드는 Google Colab에서 동작하도록 만들었으며, 다른 개발환경에서는 코드를 일부 수정해야 할 수 있습니다. 최근 자연어 처리(NLP) 모델이 딥러닝 분야에서 호황을 보여주고 있습니다. 그리고 이제는 다른 다양한 분야에서도 놀라운 성능의 이미지 처리 모델이 선보여지고 있는데요, 대표적으로 Google Brain에서 21년 6월에 선보인 ViT(Vision Transformer)가 있습니다. 이 모델은 NLP 모델과 같이 이미지를 토큰화한 뒤 학습하는 방식을 보여주고 있습니다. 이 개념을 세줄..
-
[Transformers] 이미지 분류 모델로 파이썬 프로그램 만들어보기Python/HuggingFace 2023. 9. 12. 14:42
이미지 분류 모델을 이용한 파이썬 프로그램 만들어보기 파이썬(Python) 프로그래밍, 그중에서도 딥러닝을 배워본다면 이미지 분류 모델을 구현해볼 때가 있습니다. 간단하게는 강아지와 팬더를 구분하는 모델부터, 조금 복잡하게는 동물의 종류를 대여섯가지로 늘리는 등의 확장을 하는 방법으로 말이죠. 그런데, 딥러닝 모델을 만들거나 편집하는 능력 없이도 간편하게 이미지 분류 모델을 구현할 수 있습니다. 바로 허깅페이스(Hugging Face) 트랜스포머(Transformers) 패키지를 사용하는 방법이지요. 이번에는 이미지 분류(Image Classification) 모델을 이용해서 사진 속의 동물을 흉내내는 프로그램을 만들어 보도록 하겠습니다. 여기에서는 구글에서 개발한 vit-base-patch16-224 ..