Name Space namespace는 특정 영역을 분리하는 식별자 역할을 한다. 데이터의 범위를 단순히 전역·지역으로 나누지 않고 namespace를 이용해 구체적으로 지정해 줄 수 있다. namespace test1 { void HelloWorld(void); } namespace test2 { void HelloWorld(void); } test1과 test2라는 독립된 공간을 만들어 HelloWorld라는 같은 이름의 함수가 충돌하지 않도록 분리해 주었다. test1과 test2는 각각의 공간을 식별해주는 namespace가 된다. test1::HelloWorld namespace::함수/변수의 형태로 특정 namespace 내의 데이터를 정의하거나 불러온다. 예시: namespace로 분리하기 ..
nomad-coders님의 영상을 보다가 dataclasses라는 유용한 라이브러리를 알게 되어 정리하게 되었다. 정리한 내용은 공식 문서 (3.11)를 참고하여 작성하였다. 추가로 객체 데이터를 다룰 때 유용하게 사용하고 있는 property도 함께 소개하였다. dataclasses 개념 class Person: def __init__(self, pid, name, age): self.pid = pid self.name = name self.age = age class내에서 __init__을 사용해 필요한 데이터를 저장해두는 아주 전형적인 코드이다. 하지만 받아야 하는 데이터가 많을 경우, 동일한 코드를 반복적으로 작성해야 하는 번거로움이 생긴다. 이럴 때 dataclasses를 사용해 간결하게 작성할..
기본적인 CNN 모델을 만들기 위해 필요한 개념들을 정리하였다. 2D Convolution Convolution은 합성곱 연산이다. CNN 모델에서 이미지 특징을 추출하는 과정이 바로 합성곱 연산이다. Input: 입력은 (h, w) 크기를 가지는 2차원 이미지. kernel: 이미지의 특징을 추출하기 위해 사용되는 필터. Feature map: Kernel을 거쳐 연산된 결과로, 추출된 이미지의 특징을 가짐. 2D Convolution 연산은 아래와 같이 수행된다. ("다음 단계" 클릭) HTML 삽입 미리보기할 수 없는 소스 Kernel은 계속 순회하며 이미지와 합성곱 연산을 수행한다. 그리고 그 결과로 추출된 값이 Feature map이다. 따라서, Feature map은 이미지로부터 추출된 특징이..
TOML TOML은 Key:Value 형태로 데이터를 매핑하는 파일 형식이다. JSON이나 YAML과 같이 설정 파일에 주로 사용되는 형식이다. # TOML [user] id = 398 name = "DeneV" [auth] admin = true # JSON { "user": { "id": 398, "name": "DeneV" }, "auth": { "admin": true } } 같은 데이터를 각각 TOML과 JSON으로 표현한 모습이다. 데이터의 구조가 복잡해질수록 TOML이 더 읽기 편하다는 장점이 있다. 추가로 TOML은 JSON과 달리 #으로 주석을 작성할 수 있다는 특징도 있다. TOML에 대해 간단하게 살펴보면 아래와 같이 여러 자료형의 데이터를 저장할 수 있다. string1 = "Hi"..
실행환경: Colab Pro (Python 3.7.15) 코랩은 90분 이상 동작이 없으면 런타임이 끊어질 수 있기 때문에 console을 열어 아래 스크립트를 실행한다. function connectRuntime(){ button = document.querySelector("body > div.notebook-vertical > colab-status-bar").shadowRoot.querySelector("button"); button.click(); console.log(" --Connected"); } setInterval(connectRuntime, 10 * 60 * 1000); 주기적으로 연결 버튼을 클릭해 코랩이 종료되지 않도록 한다. 준비 !pip install transformers !..