Tech & Development
[ OCR ] kakaobrain pororo OCR 사용하기 - Python
[ OCR ] kakaobrain pororo OCR 사용하기 - Python
2023.02.062021년 2월 카카오브레인에서 다양한 한글 자연어 처리를 위해 통합된 형태의 자연어 프레임워크인 pororo를 오픈소스로 공개했습니다. pororo는 Platform Of neuRal mOdels for natuRal language prOcessing의 약어이며 HuggingFace와 같은 목적으로 개발되었다고 보시면 됩니다. 다만 pororo는 한국어에 대해 좀 더 최적화 되어 있고 음성 인식 등 오디오 처리도 함께 지원한다는 장점이 있습니다. 더보기 pororo의 기술 문서에서 설명하고 있는 주요 태스크입니다. Text Classification Automated Essay Scoring Age Suitability Prediction Natural Language Inference Paraphr..
[ Python ] 미디어파이프(Mediapipe)를 이용한 가상 마우스
[ Python ] 미디어파이프(Mediapipe)를 이용한 가상 마우스
2023.01.31Mediapipe Hands는 매우 높은 인식율과 성능을 보여주는 손 및 손가락 Tracking 솔루션입니다. 손의 모양과 움직임을 인식하여 손의 제스처 기반으로 다양한 기능을 제공 할 수 있습니다. 이미지에서 손 랜드마크 모델을 통해 21개의 관절 키포인트를 예측합니다. Mediapipe와 PyAutoGUI를 이용하여 매우 간단하게 가상 마우스 만들 수 있습니다. 참고로 PyAutoGUI는 마우스와 키보드를 제어하는 Python 모듈입니다. Install pip install mediapipe pip install pyautogui Class declaration 손의 제스처를 확인하기 위한 Class를 정의합니다. Mediapipe 라이브러리를 이용하며 손의 위치와 펼쳐진 손가락의 정보, 거리 측정 ..
[ Python ] googletrans을 이용한 간단한 번역 프로그램
[ Python ] googletrans을 이용한 간단한 번역 프로그램
2023.01.30Python의 googletrans 라이브러리를 사용하여 텍스트와 문장을 다른 언어로 빠르게 번역할 수 있습니다. 매우 간단하며 몇 줄의 코드만 있으면 됩니다. Install Python 환경에서 간단하게 googletrans만 설치하면 사용이 가능합니다. pip 를 이용하여 googletrans 설치를 진행하면 3.0.0 버전으로 설치가 되지만 3.0.0 버전은 오류가 있으니 아래와 같이 버전을 지정하여 4.0.0rc1 버전으로 설치하시기 바랍니다. pip install googletrans==4.0.0rc1 Import packages from googletrans import Translator options = ['text', 'file'] Class declaration Googletrans는 ..
[Python] 문자열을 숫자로 변환
[Python] 문자열을 숫자로 변환
2023.01.251. int(), float() 함수 가장 간단한 방법은 int() 함수와 float() 함수를 사용하는 것입니다. 예를 들어, 문자열 "123"을 정수로 변환하려면 다음과 같이 할 수 있습니다. string = "123" number = int(string) print(number) # 123 문자열 "3.14"를 실수로 변환하려면 다음과 같이 할 수 있습니다. string = "3.14" number = float(string) print(number) # 3.14 2. eval() 함수 eval() 함수를 사용할 수 있습니다. eval() 함수는 문자열로 전달된 수식을 계산하고 그 결과를 반환합니다. string = "123" number = eval(string) print(number) # 12..
[Python] 문자열에서 특정문자 제거
[Python] 문자열에서 특정문자 제거
2023.01.191. replace() method replace() 메서드는 문자열에서 특정 문자나 문자열을 다른 문자나 문자열로 대체합니다. 예를 들어, 문자열 "Hello World!"에서 "o"를 제거하려면 다음과 같이 할 수 있습니다. string = "Hello World!" new_string = string.replace("o", "") print(new_string) # "Hell Wrld!" 2. translate() method translate() 메서드 역시 문자열에서 특정 문자를 제거할 수 있습니다. string = "Hello World!" remove_chars = "o" new_string = string.translate(string.maketrans("", "", remove_chars..
클라우드 기반 Jupyter Notebook (Cloud Base Notebook) 종류
클라우드 기반 Jupyter Notebook (Cloud Base Notebook) 종류
2023.01.19클라우드 기반 노트북은 클라우드 컴퓨팅 플랫폼에서 실행되는 웹 기반 노트북 애플리케이션입니다. 사용자는 코드를 생성, 편집 및 실행할 수 있을 뿐만 아니라 브라우저 창에서 마크다운을 사용하여 작업을 문서화할 수 있습니다. 클라우드 기반의 노트북은 사용자의 로컬 시스템이 아닌 원격 서버에 저장되고 실행됩니다. Jupyter Notebook과 같은 기존 데스크톱 기반 노트북 애플리케이션과 유사하지만 인터넷 연결이 있는 곳이면 어디에서나 액세스할 수 있다는 이점을 가지고 있고 로컬 하드웨어 없이도 GPU 및 TPU와 같은 강력한 계산 리소스에 액세스할 수 있을 뿐만 아니라 다른 사람과 쉽게 협업하고 작업을 공유할 수 있다는 장점을 가지고 있습니다.인기 있는 클라우드 기반 노트북 서비스로는 Google Cola..
[Python] 자료형 - 리스트 (List)
[Python] 자료형 - 리스트 (List)
2023.01.18Python에서 list는 순서가 있는 요소들의 집합을 나타내는 객체입니다. list 객체는 인덱싱, 슬라이싱, 연산, 관련된 함수들(append, extend, insert, remove, pop, count, sort, reverse, ...)를 지원합니다. 순서를 가지며, 인덱싱, 슬라이싱 기능을 지원 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 있음 변경 가능(mutable) 객체 요소들의 순서를 유지하며, 인덱싱, 슬라이싱 기능을 지원 # list 생성 lst = [1, 2, 3, 4, 5] print(lst) # [1, 2, 3, 4, 5] # list 요소 추가 lst.append(6) print(lst) # [1, 2, 3, 4, 5, 6] # list 요소 제거 lst.remov..
[Python] 자료형 - 집합(Set)
[Python] 자료형 - 집합(Set)
2023.01.18Python에서 set 자료형은 순서가 없고, 중복되지 않는 요소들의 집합을 나타내는 객체입니다. set 객체는 집합 연산(union, intersection, difference, symmetric difference)을 지원하며, 관련된 함수들(add, remove, discard, clear, pop, ...)를 지원합니다. set 객체는 순서를 가지지 않으며, 인덱싱, 슬라이싱 기능을 지원하지 않음 set 객체는 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 없음 set은 변경 가능(mutable) 객체 set 객체는 요소들의 순서가 없기 때문에, 특정 요소가 있는지 확인하는 것은 O(1) 의 시간 복잡도 # set 생성 s = set([1, 2, 3, 4, 5]) print(s) # {1..
[Python] 텍스트 파일에 내용 추가
[Python] 텍스트 파일에 내용 추가
2023.01.18Python에서 텍스트 파일에 내용을 추가하려면, 먼저 파일을 열어야 합니다. 파일을 추가 모드로 열려면 open 시 mode에 'a'를 입력하여 append 파일 모드를 사용해야 합니다. 파일을 열고 파일에 내용을 추가 하기 위해서 file.write() 함수를 사용합니다. with open("example.txt", "a") as file: file.write("This text will be added to the file.") 다른 방법으로는 아래와 같이 작성 할 수 있습니다. f = open("example.txt", "a") f.write("This text will be added to the file.") f.close() 더보기 참고 : 'w' 파일 모드를 사용하면 파일을 쓰기 모드로 열..
[Python] File 끝 확인
[Python] File 끝 확인
2023.01.18Python 파일의 끝을 찾기 위한 방법을 소개하겠습니다. 파일을 읽어들이는 open() 함수를 사용합니다. 예를 들어, myfile.txt라는 파일을 읽어들이는 경우 아래와 같은 코드를 사용할 수 있습니다. with open("myfile.txt", "r") as f: lines = f.readlines() print(lines[-1]) 위 코드에서 readlines() 함수를 사용하여 파일의 모든 라인을 읽어들입니다. 그리고 lines 리스트의 마지막 요소를 출력하면 파일의 끝을 찾을 수 있습니다. 간편하게 파일을 열고 닫기 위해서 with open을 사용하였습니다. (파일을 읽어들이는 경우 seek() 함수를 사용하여 파일의 끝에서부터 일정 길이만큼 파일을 읽어들일 수도 있습니다.) read(), ..
[Python] File 수정, 생성 시간 확인하기
[Python] File 수정, 생성 시간 확인하기
2023.01.18Python으로 파일 수정 시간, 생성 시간을 확인하려면 os.path 모듈을 사용할 수 있습니다. import os file_path = "path/to/file.py" modification_time = os.path.getmtime(file_path) creation_time = os.path.getctime(file_path) print("Modification time:", modification_time) print("Creation time:", creation_time) 위 코드에서 os.path.getmtime(file_path)는 파일의 수정 시간을 반환하며, os.path.getctime(file_path)는 파일의 생성 시간을 반환합니다. Output: Modification tim..
[Python] File 개수 확인
[Python] File 개수 확인
2023.01.18Python으로 파일 개수를 확인하려면, 먼저 해당 폴더에 있는 파일들을 리스트로 받아와야 합니다. 그리고 그 리스트의 길이를 확인하면 파일 개수를 알 수 있습니다. import os folder_path = "path/to/folder" file_list = os.listdir(folder_path) file_count = len(file_list) print(file_count) Output : 13 파일 개수를 확인하는 다른 방법은 glob 라이브러리를 사용하면 특정 경로에 있는 파일들을 패턴으로 찾을 수 있습니다. folder_path + '/*'라는 패턴으로 해당 폴더 안에 있는 모든 파일을 찾아서 그 개수를 확인합니다. import glob folder_path = "path/to/folder..