프로젝트 및 실습 59

[Computer Vision] HRNet에 대해 알아보자

Human Pose Estimation에 대한 프로젝트를 진행하려다보니 자연스럽게 HRNet이라는 CNN 아키텍처를 사용하게 되었습니다. 물론 코드야 그냥 깃에서 가져와서 돌리면 되는거지만, 어떤 구조인지는 한 번 알아보고 싶어 조금이나마 공부를 해보게 되었습니다. 컴퓨터 비전의 CNN 아키텍처들은 AlexNET으로부터 시작해 GoogLeNET, VGG NET, ResNET, DenseNET 등을 거치면서 발전해왔습니다. 그리고 이들을 잇는 모델로 2019년 HRNet이 등장했습니다. 대부분의 CNN 아키텍처들의 경우 High Resolution에서 Low Resolution으로 점점 해상도를 줄여나가는 방식이라면, HRNet은 High Resolution을 유지한 채로 병렬적으로 Low Resoluti..

[Selenium] 인스타그램 해쉬태그 크롤링 (2) - 크롤링 및 시각화

인스타그램 자동 로그인까지는 이전 게시물을 참조하시면 됩니다. https://jooona.tistory.com/146 [Selenium] 인스타그램 해쉬태그 크롤링 (1) - 인스타그램 로그인 오늘은 Selenium을 이용한 인스타그램 해쉬태그 크롤링을 실행해보도록 하겠습니다. 이번 글에서는 인스타그램 자동 로그인을 하는 방법에 대해서 우선 알아보겠습니다. 1 2 3 from selenium import web jooona.tistory.com 이제 검색할 키워드를 설정해야겠죠? 1 2 _keyword = 'chelsea' # 검색할 키워드 driver.get('https://www.instagram.com/explore/tags/' + _keyword + '/') cs 이 코드를 실행하면 자신이 원하는..

[Selenium] 인스타그램 해쉬태그 크롤링 (1) - 인스타그램 자동 로그인

오늘은 Selenium을 이용한 인스타그램 해쉬태그 크롤링을 실행해보도록 하겠습니다. 이번 글에서는 인스타그램 자동 로그인을 하는 방법에 대해서 우선 알아보겠습니다. 1 2 3 from selenium import webdriver import time import pandas as pd cs 우선 import 할 거 import 해주고, 1 2 driver = webdriver.Chrome("C:/chromedriver.exe") driver.get("https://www.instagram.com/accounts/login/" ) cs Chrome Driver를 연결해줍니다. Chrome Driver는 아래의 링크에서 다운받을 수 있고, 자신이 다운받은 경로로 따옴표 안을 고쳐줍니다. https://c..

[Pytorch] 분류기 뉴럴 네트워크 개발 일기 (2) - 모델 성능 향상

지난 번 초기 모델들에서 외투를 상의와 제대로 구별 못하는 문제점이 나타났다. 이번 글에서는 이 문제점을 고치는 과정을 작성해보려고 한다. 1. 데이터 불균형 문제 개선을 위한 데이터 증폭 첫번째로 시도해 본 방법은 데이터 불균형 문제 개선. 훈련 집합에 외투의 데이터가 4984개, 상의의 데이터가 20218개로 크게 차이가 난다는 점을 개선하고자 한 것이다. 가장 먼저 해 본 것은 훈련 집합의 모든 외투 사진에 대해 3개의 변형 이미지를 생성해 본 것. 이 방법을 통해 외투 사진을 19936개로 늘려서 상의의 데이터와 비슷한 수준으로 증폭시켰다. 결과는? 위의 사진은 VGG 11의 결과를 나타낸 것이다. 외투에 대해서는 정확도가 높아졌지만, 상의에 대한 정확도가 떨어지며, 전체적인 정확도는 유사하게 유..

[Pytorch] 분류기 뉴럴 네트워크 개발 일기 (1) - 모델 생성

1. 환경 세팅 어떤 프로젝트든 환경 세팅에 가장 많은 시간이 들어가는 것 같다. 이번에도 GPU 호환 문제, Nvidia Driver 연결 오류, CUDA 버전 문제 등 각종 오류들을 이겨내고 겨우겨우 환경 세팅에 성공했다. 2. 데이터 구성 필자가 수행할 프로젝트는 모자, 외투, 상의, 하의, 신발 등 총 5개 클래스의 이미지를 분류하는 분류기를 만드는 것이다. 데이터 구성은 다음과 같다. 여기서 캐치할 수 있는 부분은 첫째, 상의의 데이터가 다른 모든 데이터의 합 보다 많다는 점. 둘째, 신발과 특히 모자에 대한 데이터가 부족하다는 점. 그리고 데이터를 실제로 열어보면 외투와 상의의 모양이 비슷해 과연 잘 구분을 해 낼 수 있을지에 대한 의문도 존재했다. 3. 데이터 전처리 데이터를 살펴보면 모든 ..

[Pytorch] Ubuntu 20.04에 Jupyter Notebook 설치 및 서버 컴퓨터에 원격 실행

이 글은 이미 Nvidia Driver, Cuda, Anaconda, Pytorch가 설치되어 있다는 가정 하에 진행됩니다. 혹시 아직 설치 안 하신 분이 계신다면 아래의 링크를 참고하시면 됩니다. https://jooona.tistory.com/140 [Pytorch] Ubuntu 20.04에서 환경 세팅 Ubuntu 20.04에서 GPU 모드로 Pytorch를 이용하기 위해 Nvidia driver와 Cuda, Pytorch 등 필요한 프로그램들을 설치하는 방법을 알아보겠습니다. - Nvidia Driver 설치 sudo lspci -v | less sudo ubuntu-dri.. jooona.tistory.com 우선 가상환경을 활성화 한 뒤에 jupyter notebook을 설치합니다. jupyt..

[NVIDIA] NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

Ubuntu에서 NVIDIA Driver를 설치하다 보면, 또는 사용하다 보면 가끔 nvidia-smi가 안 먹힐 때가 있다. NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. 위와 같은 에러 메시지가 출력되며 드라이버가 연결되지 않았다고 한다. 필자도 이 문제를 해결하는데 하루 이상 삽질을 했는데, 해결 방법을 공유하고자 한다. 1. 지웠다가 재설치 구글링을 해보면 대부분의 경우에 nvidia driver를 재설치하면 해결된다고 나와있다. 실제로도 해결되는 사람이 많은 것 같지만 필자의 컴퓨터에는 ..

[Pytorch] Ubuntu 20.04에서 Pytorch 사용을 위한 환경 세팅

Ubuntu 20.04에서 GPU 모드로 Pytorch를 이용하기 위해 Nvidia driver와 Cuda, Pytorch 등 필요한 프로그램들을 설치하는 방법을 알아보겠습니다. - Nvidia Driver 설치 sudo lspci -v | less sudo ubuntu-drivers devices 위의 명령어들로 자신의 환경에 맞는 Nvidia Driver를 검색할 수 있습니다. 제가 사용하고 있는 GPU는 RTX 3090이고, nvidia-driver-460가 recommanded되어 있네요 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt-get install nvidia-driver-460 sudo reboot 위의..

[React] Windows에서 React 시작하기

React는 웹앱의 View를 개발하기 위해 사용하는 자바스크립트 라이브러리입니다. View를 개발하기 위해 사용한다는 말은 다시 말해 사용자가 조작하기 위한 UI를 만드는 라이브러리라고 할 수 있습니다. 우선 이번 글에서는 Windows에서 React를 실행시키는 방법을 알아보도록 하겠습니다. 가장 먼저 아래의 링크에서 Node JS를 다운로드 받아줍니다. Node JS는 자바 스크립트 언어를 웹 브라우저 환경이 아닌 곳에서도 구동할 수 있도록 런타임 환경을 제공하는 소프트웨어 플랫폼입니다. nodejs.org/ko/download/ 다운로드 | Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs...

[Django] Python에서 Django DB 사용하기

이번 글에서는 파이썬을 사용해서 Django의 SQLite3 DB에 접근하고 또 사용하는 방법을 알아보도록 하겠습니다. 저는 Pycharm을 이용해 실행해 보았습니다. 우선 파이썬 파일에 sqlite3을 import 해줍니다. import sqlite3 그리고 자신이 만든 프로젝트의 DB가 존재하는 경로를 가지고 옵니다. 다음과 같은 코드를 통해 DB와 연결을 시켜줍니다. conn = sqlite3.connect('C:/Users/R/django/firstsite/db.sqlite3') c = conn.cursor() 물론 경로 부분에는 본인의 프로젝트에 맞는 경로를 작성하셔야 합니다. 그리고 주의하셔야 할 점은 경로를 작성할 때 \가 아닌 /로 바꾸어 작성을 하셔야 합니다. 그렇지 않으시면 syntex..