파이썬 23

[이미지 학습 AI] Detectron2를 사용해보자.

이러니 저러니해도 결국 나는 visionAI를 해야하나보다. 이번엔 매번 쓰던 yolo 시리즈 말고 다른 라이브러리를 사용해보았다. 바로 Detectron2! 깃 주소는 위 링크를 따라가면 된다. 오색 찬란한 README가 우릴 반겨준다. segmentation과 keypoint 등등 지원하나보다. 개발자로써의 내 소명은 전 세계의 학자들이 머리싸매서 만들어놓은 라이브러리를 "감사하게" 생각하며 잘 쓰자 이므로,,, 부딪혀보면서 배워보자. segmentation이니 우선, 이미지와 어노테이션이 필요한 것은 당연한 사실. 튜토리얼 따라가봤는데,,, 솔직히 튜토리얼도 좋지만 내 입맛에 맞는 데이터를 직접 학습하는게 제일 배우는게 빠르지않나 생각한다. 이미지는 여러분들이 원하는 것으로 수집하자. 어노테이션은 ..

python/AI 2023.02.15

[API] API가 뭐죠?

API? 웹 개발을 하다보면 참 많이 듣게되는 단어 API. 혼자 flask니 django니 개발할 때는 나 혼자서 기능 만들고 불러다쓰면 다른건 신경 안 써도 됐는데, 어찌 현업으로 나와보니 API 스펙좀 달란다. 처음 저 말을 들었을 때, 참 많이 당황했다. API ( Application Programming Interface ). AWS에서는 아래와 같이 정의한다. 더보기 API는 무엇을 의미하나요? API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 ..

python/기초 2022.09.29

[AI] Semantic Segmentation을 해보자. feat.Custom dataset

어찌저찌 회사에서 업무를 하다보니 Semantic Segmentation을 진행하게 되었다. 그것도 Custom Dataset으로,,, 중요한건 데이터셋을 외부에서 직접 공수해야한다는 점이고, 그말은 즉 데이터 수집부터 라벨링까지 전부 스스로 해결해야 한다는 의미이다. 이에 그 기록을 남겨보자. 1. Semantic Segmentation? 여기서 다룰 내용이므로 간략한 설명은 아래의 포스트를 참고하자 https://medium.com/hyunjulie/1%ED%8E%B8-semantic-segmentation-%EC%B2%AB%EA%B1%B8%EC%9D%8C-4180367ec9cb 1편: Semantic Segmentation 첫걸음! Semantic Segmentation이란? 기본적인 접근 방법은?..

python/AI 2022.07.04

[파이썬 기초] Class를 알아보자.[2]

객체, 즉 오브젝트에 관한 수업이나 자료를 읽었다면 반드시 들어본 단어가 있다. 이라는 용어인데, 간단하게 클래스의 속성을 가지고온다라고 생각하면 이해하기 쉽다. 상속 이전 포스트에서 만들었던 Sandwich를 조금 추가해서 사용해보자. class Sandwich: def __init__(self, bread, **kwargs): self.bread = bread self.topping = kwargs for k,v in kwargs.items(): exec (f'self.{k} = v') def price(self): return sum(self.topping.values()) price라는 함수를 정의했고, 추가로 전달받은 kwargs에 있는 value만 가지고 가격을 정해주는 함수이다. 여기서 입지..

python/기초 2022.05.30

[파이썬 기초] Class를 알아보자. [1]

대다수의 프로그래밍 언어에서 객체 즉 Object라는 용어는 공통적으로 쓰인다. 파이썬 또한 객체지향언어이며, 모든 변수들이 각각 하나의 객체로 동작함을 의미한다. a = 1 b = 'string' c = 1.2 a,b,c 각각 int,str,float 라는 객체로써 동작한다는 의미이다. 객체? 우선, 객체란 단순하게 말해서 [틀] 이라고 생각하면 쉽다. 좀 더 쉽게, 라고 생각하자. 서브웨이에서 제공되는 가장 대표적인 메뉴는 일단 샌드위치다. 샌드위치를 떠올렸을 때, 빵 사이에 채소나 고기, 치즈등을 넣는 모양을 상상한다. class Sandwich: def __init__(self,bread,**kwargs): return 위와 같이 샌드위치라는 틀을 만들어주자. 안에 어떤게 들어갈지는 워낙 많으니 ..

python/기초 2022.05.27

[이미지 학습AI] 이미지를 학습으로 annotation을 해보자.[1]

이전 회사에서 이미지학습이 지겨워 탈출했는데, 그런 말이 있지않은가. 도망친 곳에 낙원은 없다. 라고 이직한곳에서도 비슷한 일을 하게 되었다. 각설하고 이번엔 ai hub에 있는 이미지 데이터를 사용해서 객체 탐지를 진행해보고자 한다. 우선, 학습에 사용된 스펙은 다음과 같다. server Ubuntu20.04 torch 1.7.1+cu110 torchvision 0.8.2+cu110 cuda 11.2 gpu RTX A4000 객체 탐지에 사용될 소스는 yolov5이다. https://github.com/ultralytics/yolov5 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite YOLOv5 🚀 in PyTorch ..

python/AI 2022.03.15

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -2

이전 포스트에서 대시보드가 보였다면, 이젠 사용자 인증정보를 생성해보자. 당장은 Youtube API 만 사용하려고하니, API 선택에서 위와같이 유튜브를 찾고, 공개데이터를 선택한 뒤, 다음단계로 가자. 다음으로가면, API 키 제한을 하라고한다. KEY 값이 외부로 유출되면, 연결된 결제수단으로 과금이 발생할 수 있으니 제한이 필요하다는것. 이름도 따로 정할 수있는데, 난 귀찮은 관계로 넘어간다. 관리해야하는 API가 여러개라면 고려할만한 옵션이다. 저장을 누르고 API를 복사해놓자. 트위터와는 다르게 KEY만 가지고있으면 접근이 가능하다. pip install google-api-client 위 명령어로 google client를 설치하면 일단 사용준비는 끝. from googleapiclient ..

python/크롤링 2022.01.25

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -1

이전 트위터 API 직후에 작성한다는것이 조금 늦어졌다. 구글은 다양한 API를 제공한다. 구글에서 지원하는 어플리케이션의 API나 지도를 사용할 수 있다. 우선, 트위터와 마찬가지로 개발자신청을 통해 권한을 얻어야하는데, https://console.cloud.google.com/getting-started 위 링크를 따라가면 이런 화면이 나온다. 이메일 업데이트는 빼고 위의 두개만 체크해도 정상적으로 넘어간다. 최상단에 제품/리소스검색창에 youtube data API를 검색해보자. 검색해서 나온 결과중에 맨 위에있는 Youtube Data API v3를 누르면 위와같은 화면이 나오고, 사용을 눌러서 API를 등록하자. 인고의 시간을 버텨내면 위와같은 대시보드가 보인다. 바로 사용할 수는 없고, 사용..

python/크롤링 2022.01.25

[파이썬] pandas 시간 구간을 그룹화해보자.

시계열 데이터를 만지다보면 빈 값도 있고, term이 제각각인 경우도 있다. 만약 time step이 1초라면 데이터도 어마어마하게 많을테니 이를 효과적으로 줄여보자. import pandas as pd import random df = pd.DataFrame() df['Time'] = pd.date_range('2021-01-01','2021-01-02',freq='1S') df['Color'] = random.choices(['Red','Blue','Green','White'], k=len(df)) df['Value'] = 1 위와 같이 데이터를 만들어보자. 무의식적으로 날짜를 적다보니 2021년 1월로 정했다. 코시국때문에 새해지만 새해같지않다. 각설하고 86401개의 데이터가 만들어지고, 색상과 ..

python/기초 2022.01.19

[파이썬 기초] 반복문을 뜯어보자. ( feat.왜 i? )

파이썬을 처음 시작할 때, 배우는 과정중에 반복문이 있다. 파이썬에선 다음과 같이 사용한다. for i in range(10): print(i) 따라하다보면 참 재미있다. 초심자의 입장에서 의문이 들만한 점은 왜 모든 기초 반복문에서 i를 사용할까? 이다. 왜 i를 넣으면 되고 다른건 안되나요? 등등 물어보는 일이 많다. 여기서 i는 반복자라고 하는데, i는 단순히 변수의 역할을 할 뿐, 특별히 큰 의미가 있는건 아니다. 즉 사용자에 따라, 데이터 타입에따라, 반복할 객체의 종류에 따라 다르게 설정할 수 있다. 예를들어, 위의 예제에서는 반복문이 한눈에 불 수 있을정도로 짧지만, 반복문이 길어진다면? 반복문 안에 또 반복문이 생기는 경우도 있을 수 있다. 만약 점수를 담은 리스트 scores = [100..

python/기초 2022.01.05
반응형