Language Study/Python
-
Python 숫자 제곱 pow 함수 사용하기Language Study/Python 2024. 11. 19. 23:35
파이썬을 사용하다보면 N제곱을 구현해야하는 경우가 종종 있다.for문 등 다양한 방법으로 구할 수 있지만 미리 정의된 pow함수를 사용하면 쉽게 구할 수 있다.오늘은 pow 함수를 사용하는 방법을 한번 알아보자 기본적으로 python의 제곱은 **로 표현한다.2 ** 3 #8pow 함수의 형태는 아래와 같다.pow(2, 3) # 2 ** 3 = 8pow(100, -1) # 1/100pow(100, (1/2)) # 100의 제곱근 pow 함수를 수행한 뒤 %를 하는 경우가 있다. 이 경우에도 한번에 pow를 통해서 구할 수 있다.pow(2, 3) % 3 # 2pow(2, 3, 3) # pow로 한번에 수행
-
youtube 요약.03 - LLM으로 script 파일 요약하기Language Study/Python 2024. 11. 14. 17:31
1. 요약하려는 영상에서 음성파일 추출(yt_dlp)2. 해당 음성 파일을 text 형식으로 변환 (whisper)3. llama, gpt 등을 이용하여 script 내용 요약(gpt)+ 요약된 내용을 게시 또는 정리할 수 있는 후처리 프로세스마지막으로 3번 llama, gpt 등을 이용하여 script 내용 요약(gpt) 이다.사실 이 항목은 정리하기가 좀 어렵다. 사내 AI 모델을 이용하여 구성하였기 때문에 보안상 코드로 구성해서 보여주기도 어렵고GPT를 사용했다 하더라도 사용 방법을 제외하고는 prompt의 내용을 변경, 몇몇 변수 temperature, token값 등을 변화하면서가장 원하는 답과 근사한 형태로 결론을 도출할 때까지 테스트해보는 작업이였기 때문이다. (기술적부분 보다는 반복의 영역..
-
youtube 요약.02 - whisper로 음성파일 text 변환하기Language Study/Python 2024. 11. 9. 23:34
1. 요약하려는 영상에서 음성파일 추출(yt_dlp)2. 해당 음성 파일을 text 형식으로 변환 (whisper)3. llama, gpt 등을 이용하여 script 내용 요약(gpt)+ 요약된 내용을 게시 또는 정리할 수 있는 후처리 프로세스오늘은 2번 음성 파일을 텍스트로 변환하는 작업을 해보려고 한다.텍스트 변환은 요즘 핫한 opne AI에서 제공하는 whisper를 사용했다.whipser는 3가지 방법으로 이용이 가능한데1. 사이트https://huggingface.co/spaces/aadnk/faster-whisper-webui Faster Whisper Webui - a Hugging Face Space by aadnk huggingface.co위 링크에 들어가면 바로 사용할 수 있다.사이트..
-
youtube 요약.01 - yt_dlp로 youtube 음성 파일 추출하기Language Study/Python 2024. 11. 8. 18:38
youtube 내용을 요약하는 토이 프로젝트를 혼자 해보고 있었는데 간단하지만 다양한 모듈을 사용한 것 같아서 하나씩 정리해보려고한다.(나중에 정리하는 특성상 그대로 따라해도 안될 수 있음...)환경은 MAC 언어는 Python으로 구현해보았다.먼저 youtube 내용을 요약하기 위해서 필요한 단계를 3단계 정도로 압축했다.1. 요약하려는 영상에서 음성파일 추출(yt_dlp)2. 해당 음성 파일을 text 형식으로 변환 (whisper)3. llama, gpt 등을 이용하여 script 내용 요약(gpt)+ 요약된 내용을 게시 또는 정리할 수 있는 후처리 프로세스위 순서를 바탕으로 정리할 생각이다. 요약하려는 영상에서 음성파일 추출먼저 youtube 영상 다운로드, 음성 파일 추출을 위해서는 yt_dlp..
-
파이썬 문자 채우기, 0채우기Language Study/Python 2024. 7. 23. 11:03
코드 작성 중 자릿수를 맞춰야하는 순간이 있다. 특히 숫자를 사용할 때 앞에 0을 채우는 경우가 많이 있었는데그때마다 zfill을 사용하기 위하여 문자열로 변환해서 사용했었다.정수형 숫자로 바로 0을 채울 수 있는 방법들이 있어서 정리해봤다. 1. 문자열 앞에 '0' 채우기 (zfill)string_number = '1'a = string_number.zfill(2)b = string_number.zfill(3)print(a) #01print(b) #001 2. 문자열 앞에 원하는 문자로 채우기 (rjust)string_number = '1'a = string_number.rjust(2, 'a')b = string_number.rjust(3, 'b')print(a) #a1print(b) #bb1 3..
-
[기능] 파이썬 stdin 입력Language Study/Python 2021. 4. 16. 06:24
www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 일반적으로 입력을 받을 때에는 input()을 사용한다. 하지만 백준 15552번 빠른 A+B와 같은 문제를 해결할 때에는 input()으로 입력받는 경우에는 시간 초과가 발생한다. 이 때 impor sys를 하여 stdin으로 입력을 받는다면 시간초과를 발생시키지 않을 수 있다. sys.stdin.readline() 1. 정수 입력 받기 import sys number = int(sys.stdin.readline()) 하나의 ..
-
[기능] 파이썬 순열, 조합 (Permutations, Combinations)Language Study/Python 2021. 4. 6. 04:26
순열 (nPr) 순열이란 서로 다른 n개중에 r개를 선택하는 경우의 수를 의미합니다. (순서 상관 있음) 조합 (nCr) 조합이란 서로 다른 n개중에 r개를 선택하는 경우의 수를 의미합니다. (순서 상관 없음) 프로그램을 짜다보면 순열과 조합을 사용하는 상황이 종종 발생한다. 그런 순간에 직접 재귀나 반복문을 이용하여 구현할 수 있지만 파이썬은 모듈을 이용하여 쉽게 사용할 수 있다. 바로 itertools의 permutations 와 combinations이다. import itertools chars = ['A', 'B', 'C'] perm = itertools.permutations(chars, 2) # 순열 comb = itertools.combinations(chars, 2) # 조합 print(..
-
[기능] 파이썬 리스트 복사 (python copy)Language Study/Python 2021. 4. 1. 22:27
Copy 파이썬에서 일반적으로 복사할 때 아래와 같은 형식으로 진행된다. list_A = ["ABC","DEF"] list_B = list_A 하지만 이렇게 복사를 하는 경우 단순한 값에 대해서는 문제가 없지만, 리스트를 복사할 때에는 C 언어에서 포인터만 지정한 것과 비슷한 경우된다. 실제로 list는 1개만 존재하지만 2가지 이름으로 가리키는 것이다. list_A = ["ABC","DEF"] list_B = list_A list_B.append("GHI") print(list_A) #결과 ["ABC","DEF","GHI"] 위의 경우와 같이 B를 수정했지만 A에도 반영되고 있다. 그래서 단순히 = 로 복사하는 경우에는 문제가 생길 수 있다. Shallow Copy 리스트와 같은 변형 객체에서는 다른 ..