본문 바로가기

전체 글

(38)
메서드 vs 클래스 기능을 메서드로 정의할지 클래스로 정의할지 결정하는 것은 프로그램의 복잡성, 확장성, 그리고 설계 목표에 따라 다르다.  계산기 예제연산을 메서드로 구현더보기class Calculator: def __init__(self): self.operations = { '+': self.add, '-': self.subtract, '*': self.multiply, '/': self.divide } def add(self, a, b): return a + b def subtract(self, a, b): return a - b def multiply(self, a,.. 2024. 7. 24. 20:22
Graph Neural Networks 연구실 스터디를 위해 Simon J.D. Prince의 Understanding Deep Learning의 13챕터 GNN에 대해서 공부하며 정리한 글입니다.그래프를 다루는데 존재하는 3가지 문제점첫째, 토폴로지가 가변적이기 때문에 충분히 표현력이 풍부하고 이러한 변화에 대응할 수 있는 네트워크를 설계하기가 어렵다.둘째, 그래프의 크기가 방대할 수 있다. 예를 들어 소셜 네트워크 사용자 간의 연결을 나타내는 그래프에는 10억 개의 노드가 포함될 수 있다.셋째, 단일 모놀리식 그래프만 존재할 수 있으므로 많은 데이터 예제로 훈련하고 새로운 데이터로 테스트하는 일반적인 프로토콜이 항상 적절한 것은 아니다.1. What is a graph?1.1. Types of graphsHeterogeneous graph.. 2024. 7. 23. 09:01
Feature Pyramid Networks for Object Detection 2017년 CVPR에 게재된 Feature Pyramid Networks for Object Detection의 abstract, introduction, conclusion 및 FPN의 구조를 번역한 글입니다. 논문을 단순히 직역하기보다는 학부생 고학년 수준에서 좀 더 수월하게 읽을 수 있도록 의역하였고, 설명되지 않은 몇 가지 개념에 대하여 가급적 부연설명을 덧붙이도록 노력했습니다. 시간 관계상 응용 및 실험 등은 생략한 점 양해 바랍니다. 1. Abstract Feature Pyramid Networks (FPN)는 다양한 크기의 오브젝트를 효율적으로 탐지하기 위해 고안된 방법이다. 예를 들어, 어떤 classifier를 통해 여러 종류의 사물(object)을 분류할 수 있게 되었다고 하자. 이를테.. 2024. 2. 9. 04:06
CIDEr-D와 METEOR CIDEr-D와 METEOR는 모델이 수행한 캡셔닝 또는 번역의 질을 평가하는데 사용되는 메트릭이다.CIDEr-DCIDEr의 단점을 보완한 지표가 CIDEr-D이다. 따라서 CIDEr-D를 이해하기 위해 먼저 CIDEr을 살펴보자.1. CIDEr : Consensus-based Image Description Evaluation for Image Captionn-gram우선 n-gram에 대한 개념을 확실하게 짚고 넘어갈 필요가 있다.I love cats.2-gram은 "I love" 또는 "love cats"와 같은 연속된 두 단어로 이루어진 객체를 의미한다.2-grams는 {"I love", "love cats"}이라는 문장에서 가능한 모든 2-gram이 모인 집합이다.개념CIDEr( Consensu.. 2023. 10. 5. 20:49
AWS 필수 키워드 9개 AWS란? Amazon Web Service. 웹 및 앱 서비스 제공자가 컴퓨팅 파워, 저장소, 데이터베이스 등 광범위한 서비스를 제공할 수 있도록 도와주는 아마존의 클라우드 컴퓨팅 서비스. AWS 필수 키워드 1. EC2 (Elastic Compute Cloud) Virtual machine을 제공하는 서비스. 이러한 virtual machine에서 서비스 제공자는 웹서비스, 애플리케이션, 데이터베이스 등을 호스팅하며 벡앤드 서버를 구동할 수 있다. 또한 서비스 제공자가 직접 하드웨어 및 운영체제를 선택할 수 있다. 이렇게 탄력적으로 제공된다는 점에서 elastic compute cloud라고 이름 붙여진 듯하다. 2. S3 (Simple Storage Service) 파일을 저장할 수 있는 저장소를 .. 2023. 10. 3. 10:15
여우와 거인 chatGPT를 사용해 짧은 우화를 만들어 보았습니다. chatGPT에게 여우, 거인, 그리고 재채기를 이용해서 동화를 만들어 달라고 부탁하였고, 그렇게 만든 초안을 바탕으로 새롭게 재창조한 동화입니다. 옛날 옛적에, 변덕스러운 숲의 녹색 가장자리에, 레이나드라는 여우가 살았습니다. 레이나드는 당신이 흔히 여우에게 기대하는 것처럼 교활한 성격은 아니었습니다. 오히려, 그는 특별한 재채기로 유명했습니다. 레이나드가 재채기를 할 때마다 마법 같은 일이 벌어지곤 했습니다. 꽃은 한겨울에 피어나고, 나무는 계절에 맞지 않는 열매를 맺으며, 심지어 날씨도 종종 경로를 바꾸곤 했습니다. 하지만 레이나드의 재채기는 그저 무작위적인 현상이 아니었습니다. 그것은 현명한 올빼미조차도 이해할 수 없는 독특한 규칙을 가지고 .. 2023. 7. 5. 22:47
컴퓨터과학에서 좌표계의 원점 일반적으로 수학에서 좌표계 원점은 좌측 하단에 위치하는 것으로 표기하는데 반해, 컴퓨터과학에서 좌표계 원점은 좌측 상단에 위치하는 것일까? 그 이유는 초기 컴퓨터의 모니터 설계에서 찾을 수 있다. 초기 CRT 모니터는 주로 글자를 표시하는 용도로 제작되었다. 따라서 왼쪽 위에서 오른쪽 아래로 영상을 창출하도록 제작된 것이다. 즉 다수의 문화권에서 글을 읽는 방식과 같은, 왼쪽 위에서 오른쪽 아래로 글을 읽는 문화가 그대로 좌표계 시스템에 투영되었다고 할 수 있다. 이러한 연휴로 왼쪽 위 코너가 좌표계의 원점이 되었다. 반면 수학에서 좌표계의 원점이 왼쪽 하단에 위치하는 것은 직관적으로 당연하다. '숫자'란 오른쪽으로 가면 커지고, 위로 가면 커진다고 대다수의 사람들이 생각하기 때문에, 왼쪽 아래가 원점이.. 2023. 6. 15. 12:06
파이썬 구글 이미지 웹 크롤링 코드 기존 구글에 돌아다니는 코드는 더이상 지원하지 않는 문법을 사용하여, 다소 업데이트된 코드로 작성함 인자로 검색어를 받아 크롬에서 구글 이미지를 통해 검색 후 저장 from selenium import webdriverfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.chrome.service import Serviceimport timeimport urllib.requestimport os, sysdef crawling(word: str) -> None.. 2023. 3. 6. 08:08