본문 바로가기
728x90
반응형
SMALL

KDT/과제16

[파이썬, Python] 지니뮤직 Top200 크롤링하기! 과제. https://www.genie.co.kr/chart/top200 지니차트 200위까지 크롤링 깃허브에 레퍼지토리를 만들어서 내보내기 지니차트>실시간 - 지니 AI기반 감성 음악 추천 www.genie.co.kr import time data = [] for i in range(1, 5): url = f'https://www.genie.co.kr/chart/top200?ditc=D&ymd=20230601&hh=13&rtm=Y&pg={i}' header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'} request = requests.get(url, headers=header) soup = BeautifulSoup(request.text.. 2023. 9. 4.
[파이썬, Python] OpenCV - 동영상 필터 입히기 💡 문제. 웹캠(또는 동영상)에서 스페이스바를 누를 때마다 '일반영상', '가우시안 필터영상', '케니 필터영상'으로 변환되는 프로그램을 작성해보자. 📄 사용한 동영상 파일 import cv2 import numpy as np cap = cv2.VideoCapture('cat.mp4') def blur_filter(img): img = cv2.GaussianBlur(img, (3, 3), 0) return img def canny_filter(img): med_val = np.median(img) lower = int(max(0, 0.7 * med_val)) upper = int(min(255, 1.3 * med_val)) img = cv2.GaussianBlur(img, (3, 3), 0) img = .. 2023. 9. 2.
[파이썬, Python] OpenCV - 원하는 ROI 설정 후 투시변환하기 💡 문제. namecard.jpg에 retangle과 circle을 그리고 마우스이벤트를 줘서 칸에 맞추면 투시변환을 해보자. import cv2 import numpy as np import sys def drawROI(img, corners): cpy = img.copy() c1 = (192, 192, 255) c2 = (128, 128, 255) for pt in corners: cv2.circle(cpy, tuple(pt.astype(int)), 25, c1, -1, cv2.LINE_AA) cv2.line(cpy, tuple(corners[0].astype(int)), tuple(corners[1].astype(int)), c2, 2, cv2.LINE_AA) cv2.line(cpy, tuple(c.. 2023. 8. 30.
[파이썬, Python] OpenCV - 동영상 2개를 이어 재생하기! 💡 문제 1번 동영상이 끝나기 2초전 부터 2번 동영상이 좌측에서 시작되어 2초가 끝나면 2번 동영상이 모두 보이는 형태의 프로그램을 만들어보자. import cv2 import numpy as np cap1 = cv2.VideoCapture('cat1.mp4') cap2 = cv2.VideoCapture('cat2.mp4') frame_cnt1 = round(cap1.get(cv2.CAP_PROP_FRAME_COUNT)) frame_cnt2 = round(cap2.get(cv2.CAP_PROP_FRAME_COUNT)) print(frame_cnt1) print(frame_cnt2) fps1 = cap1.get(cv2.CAP_PROP_FPS) fps2 = cap2.get(cv2.CAP_PROP_FPS) .. 2023. 8. 24.
[파이썬, Python] 알고리즘 - 1️⃣ 재귀호출(recursive call) 1. 재귀호출이란❓ 함수 안에서 동일한 함수를 호출하는 형태 여러 알고리즘, 고급 정렬 알고리즘 작성시 자주 사용됨 1-1. 재귀 호출 분석 2! = 1 * 2 3! = 1 * 2 * 3 = 3 * 2! 4! = 1 * 2 * 3 * 4 = 4 * 3! 1-2. 규칙 n! = n * (n-1)! 함수로 만듬 함수(n)은 n > 1 이면 return n * 함수(n-1) 함수(n)은 n = 1이면 return n 1-3. 검증 2! 함수(2)이면 2 > 1 이므로 2 * 함수(1) 함수(1)은 1이므로 return 2*1, 답은 2 3! 함수(3)이면 3 > 1 이므로 3 * 함수(2) 함수(2)는 1번에 의해 2! 이므로 return 2 * 1 = 2 3 * 함수(2) = 3 * 2 = 3 * 2 * 1.. 2023. 6. 29.
[파이썬, Python] 서브워드분리(subword segmentation) - WordPiece Tokenizer 1. WordPiece Tokenizer 구글이 2016년 Google's Neural Machine Translation System Bridging the Gap between Human and Machine Translation논문에 처음 공개한 BPE의 변형 알고리즘 병합할 두 문자가 있을 때, 각각의 문자가 따로 있을때를 더 중요시 여기는지, 병합되었을 때를 더 중요시 여기는지 차이점을 둠 코퍼스의 우도(Likelihood)를 가장 높이는 쌍을 병합 GPT 모델과 같은 생성모델(자연어를 만들어냄)의 경우에는 BPE 알고리즘을 사용 BERT, ELECTRA와 같은 자연어 이해 모델에서는 WordPiece Tokenizer를 주로 사용 📍 수행하기 이전의 문장: Jet makers feud over.. 2023. 6. 29.
[파이썬, Python] 서브워드분리(subword segmentation) - BPE 알고리즘 1. 서브워드 분리(Subword segmenation) 작업 하나의 단어를 여러 서브워드로 분리해서 단어를 인코딩 및 임베딩하겠다는 의도를 가진 전처리 작업 OOV나 희귀 단어, 신조어와 같은 문제를 완화 서브워드 분리 알고리즘인 BPE(Byte Pair Encoding) 알고리즘 2. BPE 인코딩(Byte Pair Encoding) 2016년 Neural Machine Translation of Rare Words with Subword Units 논문에서 제안 코퍼스 내 단어의 등장 빈도에 따라 서브워드를 구축하는데 사용 글자(charcter) 단위에서 점차적으로 단어 집합(vocabulary)을 만들어 내는 Bottom up 방식의 접근을 사용 기계는 모르는 단어가 등장하면 그 단어를 단어 집합.. 2023. 6. 27.
[파이썬, Python] 파일 입출력 - 영어 단어장을 만들어보자! 📖 문제 아래와 같이 번호를 선택하고 단어를 입력하고 출력한 후 파일로 저장하는 프로그램을 만들어보자. * 아래 번호를 선택하세요 * 1. 단어 입력(단어, 뜻, 레벨) * 2. 단어 출력 * 3. 단어 저장(word.txt에 저장) * 4. 프로그램 종료 - 아래 번호를 선택하세요: 1 - 단어를 입력하세요: apple(단어), 사과(뜻), 1(레벨) - 입력되었습니다. - 아래 번호를 선택하세요: 1 - 단어를 입력하세요: banana, 바나나, 1 - 입력되었습니다. - 아래 번호를 선택하세요: 2 > apple(사과, level1) banana(바나나, level1) - 아래 번호를 선택하세요: 3 * 저장되었습니다. - 아래 번호를 선택하세요: 4 * 프로그램을 종료합니다. > 단, 저장된 파일이 .. 2023. 3. 15.
728x90
반응형
LIST