Tech & Development
[Python] *args와 **kwargs 사용방법
[Python] *args와 **kwargs 사용방법
2022.11.21Python에서 *args, **kwars를 사용하는 함수를 볼 때가 있습니다. C를 접하신분은 * 를 보고 Python에도 포인터가 있다고 오해할 수도 있지만 다행히도 포인터는 아닙니다. 분명 arguments를 받는 인자인 것 같은데, Python 입문자들을 혼동스럽게 만드는 *args와 **kwars에 대해서 알아보겠습니다. (작성 하실 때 *args와 **kwars 라는 이름을 사용할 필요는 없습니다. args와 kwars는 변수명이기때문에 다른 변수명 앞에 * 또는 **를 붙여 사용하면 됩니다. 예를들어 *vars나 **arguments 등으로 바꾸어 사용하시면 됩니다.) 간단히 argument를 입력받아 print하는 예를 들겠습니다. def print_args(arg1, arg2): prin..
Mac에서 AWS Windows Server(EC2) 원격제어 (RDP클라이언트)
Mac에서 AWS Windows Server(EC2) 원격제어 (RDP클라이언트)
2022.09.291. App Strore에서 Microsoft Remote Desktop 어플리케이션을 다운로드 후 설치 (무료) 2. Microsoft Remote Desktop 어플리케이션을 실행 후 EC2 주소를 등록하기 위해 [Add PC] 버튼을 클릭 3. PC name, User account 정보를 입력 후 [Add] 버튼 클릭 [PC name]: Host name 또는 IP 주소를 입력 (AWS 웹사이트의 인스턴스 요약 정보에서 "퍼블릭 IPv4 DNS" 값을 복사하여 붙여넣기) 계정을 추가하기 위해 User account > [Add User Account...] 클릭 [User name]: EC2에서 Windows Server 2012가 설치되었으면 기본적인 User name은 "Administrato..
Train Swin-Object Detection using Custom Data(without mask)
Train Swin-Object Detection using Custom Data(without mask)
2022.08.021. Swin Transformer (Hierarchical Vision Transformer using Shifted Windows) Object Detection은 CNN을 기반으로 다양한 bounding box regression 기법을 연구하는 방향으로 진행해 왔습니다. 그러다 2020년 초반부터 NLP분야에서 사용되던 attention기반의 Transformer를 object detection 에 적용해보려는 시도가 이루어지면서 새로운 object detection모델들이 나오기 시작합니다. DETR 모델을 시작으로 Deforma DETR, ViT 등이 나왔고 성능이 EfficientDet보다 조금씩 나아지면서 Transformer를 CV에 적용하려는 연구가 활발해집니다. 하지만 ViT 모델만 ..
JetBrains Space 시작하기
JetBrains Space 시작하기
2022.06.27개발을 하다보면 업무 진행상황이나 지난 히스토리를 파악하는데 어려움을 겪을 때가 있습니다. 또한 프로젝트를 관리하거나 일정공유 등도 해야는 경우에는 각기 다른 툴을 사용하면서 번거로움을 느끼기도 합니다. 함께 일하는 공간이 아닌 경우에는 커뮤니케이션도 힘들고 공유한 자료 보관도 어렵죠. 현재 JetBrains의 PyCharm을 사용하고 있는데, JetBrains Space 클라우드 개발 환경을 이용하면 개발 환경을 중앙집중식으로 관리 할 수 있고 팀원과 코드를 공유하거나 함께 작업하는데 유용할 것 같아서 사용을 해보려고 합니다. (무료이기도 하구요) JetBrains Space란 무엇인가? Space는 JetBrains가 개발한 팀을 위한 통합 환경입니다. 팀이 보다 생산적이고 효율적으로 일할 수 있게 ..
[Python] dictionary(딕셔너리) Value로 Key찾기
[Python] dictionary(딕셔너리) Value로 Key찾기
2022.06.10Python에서 dictionary(딕셔너리) 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다. 일반적인 딕셔너리 타입은 중괄호로 되어 있고 키와 값으로 이루어져 있습니다. test_dict = {'0': 'AA', '1': 'BB', '2': 'CC', '3': 'DD'} test_dict >> {'0': 'AA', '1': 'BB', '2': 'CC', '3': 'DD'} key를 이용하여 value를 찾는 방법은 다음과 같습니다. test_dict.get('3') >> 'CC' test_dict['3'] >> 'CC' 반대로 value를 이용해 key를 찾는 방법은 다음과 같습니다. [k for k, v in test_dict.ite..
[ OCR ] Naver CLOVA OCR API 를 이용한 OCR 개발 - Python
[ OCR ] Naver CLOVA OCR API 를 이용한 OCR 개발 - Python
2022.05.06현재 한국에서 가장 많은 사람들이 사용하는 인터넷 포털 서비스 회사인 네이버에서 개발한 인공지능 플랫폼인 Naver CLOVA에서 제공하는 OCR API를 활용하여 이미지에서 텍스트 영역을 감지하고 문자 인식(OCR)을 하는 방법에 대해 설명드리도록 하겠습니다. Naver Cloud Plaform는 OCR 이외에도 AI 관련 인프라부터 음성 인식, 얼굴 인식 등 다양한 서비스를 쉽고 편리하게 구축할 수 있도록 제공하고 있습니다. 1. 도메인 생성 Naver CLOVA OCR API를 사용하기 위해서는 Naver Cloud Platform 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. Naver Cloud Platform 페이지로 이동하여 회원 가입 및 로그인을 진행합니다. Naver CLOVA ..
[ OCR ] Amazon Rekognition API 를 이용한 OCR 개발 - Python
[ OCR ] Amazon Rekognition API 를 이용한 OCR 개발 - Python
2022.05.06Amazon Rekognition API를 이용하여 이미지에서 텍스트의 영역을 감지하고 문자 인식(OCR)을 하는 방법에 대해 설명드리도록 하겠습니다. Google이나 Microsoft, Amazon 과 같은 회사의 공통점은 엄청난 양의 이미지 데이타를 보유하고 있다는 것입니다. 그리고 그들은 이미 이런 데이터를 활용하여 믿을 수 없을 정도의 높은 성능의 OCR 모델을 만들었고 API로 제공하고 있습니다. 1. Amazon Rekognition API 키 발급 Amazon Rekognition OCR API 수행하기 위해서는 먼저 Amazon Rekognition에 대한 자격 증명 키 발급이 필요합니다. AWS 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 계정 생성 시에 신원을 확인하기 위해..
[ OCR ] Microsoft Cognitive Services 를 이용한 OCR 개발 - Python
[ OCR ] Microsoft Cognitive Services 를 이용한 OCR 개발 - Python
2022.05.06Microsoft Azure의 일부인 MCS(Microsoft Cognitive Services)라는 클라우드 기반의 API를 활용하여 이미지에서 텍스트의 영역을 감지하고 문자 인식(OCR)을 하는 방법에 대해 설명드리도록 하겠습니다. 비용은 가격 책정 계층이 F0 (Free) 인 경우 분당 20건씩, 월 5,000건까지는 무료입니다. (상세 가격) 더보기 164개 언어의 인쇄 텍스트 추출 9개 언어의 필기 텍스트 추출 위치 및 신뢰도 점수가 있는 텍스트 줄 및 단어 언어 식별이 필요하지 않음 혼합 언어, 혼합 모드 지원(인쇄 및 필기) 여러 페이지로 구성된 대형 문서에서 페이지 및 페이지 범위 선택 텍스트 줄 출력을 위한 자연스러운 읽기 순서 옵션(라틴어만 해당) 텍스트 줄에 대한 필기 분류(라틴어만 ..
[ OCR ] Google Cloud Vision API 를 이용한 OCR 개발 - Python
[ OCR ] Google Cloud Vision API 를 이용한 OCR 개발 - Python
2022.05.04Google 에서는 매우 정확하게 이미지의 정보를 추출할 수 있는 API 제공합니다. Google Cloud Vision API는 많은 기능이 존재하지만 이 글에서는 이미지에서 텍스트의 영역을 감지하고 문자 인식(OCR)을 수행하는 API에 대해 설명드리도록 하겠습니다. 1. Google Cloud Vision API 키 발급 먼저 Google Cloud Vision API를 엑세스 하기 위해 서비스 계정을 생성하고 비공개 키 파일(.JSON)을 다운로드 해야합니다. Google Cloud Vision API 페이지로 이동하여 [Vision AI 무료로 사용해보기] 또는 우측에 [무료로 시작하기] 버튼을 클릭합니다. 약관 동의 후 계속 진행합니다. API 사용을 위해서는 서비스 생성 및 결제 계정 정보 ..
웹 스크래핑이란?
웹 스크래핑이란?
2022.04.26빅데이터, 머신러닝, 딥러닝 등 소위 대세라고 불리는 개념의 중심에는 데이터가 있습니다. 특히 웹에는 다양한 정보가 경쟁하듯이 넘쳐나죠. 증가하는 데이터의 양은 놀랍기만 합니다. 최근 IDC의 보고서에 따르면, 오는 2025년에는 163ZB(제타바이트)의 데이터가 생성될 것이라고 합니다. (163ZB..사실 어느정도의 양일지 감이 오지 않네요.) 이제 데이터는 매우 소중한 자산이고 돈이 되었고 기업과 개인들은 새로운 과제에 직면합니다. 생성된 모든 데이터는 똑같이 중요하지 않으며, 맥락이 없는 데이터는 아무 소용이 없기때문이죠. 우리가 시간이 있다면 모든 내용을 보고 꼼곰하게 검토하고 열심히 찾아서 또는 매일매일 빠짐없이 정보를 찾아보겠지만 우리는 이미 너무나 바쁘고 할 일이 많습니다. 가뜩이나 바쁜 세..
[Firebase] Firebase 프로젝트 생성 - Firebase 시작하기
[Firebase] Firebase 프로젝트 생성 - Firebase 시작하기
2022.04.131. Firebase 란? Firebase는 모바일, 웹 환경에서 고품질의 서비스를 빠르게 개발할 수 있도록 도와주는 구글의 플랫폼 서비스입니다. Firebase 프로젝트는 Cloud 프로젝트이며 Firebase Console에서 새 Firebase 프로젝트를 만들면 내부적으로 Google Cloud 프로젝트가 생성됩니다. 2. Firebase 시작하기 Firebase 사이트에 이동하여 [시작하기] 를 클릭하면 Firebase Console로 이동합니다. 직접 Google Firebase Console로 이동해도 됩니다. 3. 프로젝트 추가 [프로젝트 추가]를 클릭하면 프로젝트 만드는 과정을 Step으로 제공하는 대화창이 활성화됩니다. 먼저 프로젝트명을 작성합니다. 프로젝트명은 문자, 숫자, 공백, -!..
[Python] 문자열에서 숫자만 추출하기
[Python] 문자열에서 숫자만 추출하기
2022.03.301. 모든 숫자들을 1개의 문자열로 추출 : re.sub() sub()는 string에서 pattern과 일치하는 문자들을 repl로 교체합니다. re.sub(pattern, repl, string) 다음과 같이 sub()를 사용하여 문자열에서 숫자가 아닌 문자를 모두 제거하고 숫자로 구성된 문자열을 만들 수 있습니다. import re string = 'aaa1234, ^&*2233pp' numbers = re.sub(r'[^0-9]', '', string) print(numbers) Output: 12342233 2.연속된 숫자들을 추출하여 List로 리턴 : re.findall() re.findall(pattern, string)은 string에서 pattern에 해당하는 내용들을 찾아서 리스트로 ..