전체 글 93

[C++] 네임스페이스 (namespace)

아래는 c++ 코드 예시의 일부분 std::cout > i; 위 코드에서 std 가 네임스페이스 네임스페이스의 역할: 소속을 지정해줌 네임스페이스의 필요성: 내부 식별자에게 범위를 부여해서 여러 라이브러리를 쓰는 상황에서 충돌을 방지하기 위해 사용  헷갈림을 방지하기 위해 아래와 같이 using namespace 의 사용은 권장되지 않음using namespace std;int main(){ int i; cout > i;}

Code/C++ 2024.08.15

[Programming] 코드의 빌드 (Build)란?

회사에서 인수인계 받을 때, 전임자분이 코드 빌드하는 방법을 알려주겠다고 했음 근데 부끄럽지만 비전공에 AI 코드만 짜는 수준이라 개발에 대해 잘 몰랐고, 빌드가 무엇을 이야기하는지 이해하지 못했음 그래서 이번 기회에 정리를 해보려고 함 빌드 (build) = 전처리 (pre-processing) + 컴파일 (compile) + 링크 (link)  전처리 (pre-processing) 전처리는 소스 파일이 컴파일 되기 전에 소스 코드를 변경하거나 확장함 컴파일러가 전처리기에 지시하는 형태로 수행되는데, #include, #define 등의 지시문을 해석하고 소스 코드를 변경하여 컴파일러에 전달  컴파일 (compile) 컴파일은 주어진 코드를 오브젝트 코드 (기계어)로 번역하는 과정  링크 (link) ..

Code/ETC 2024.08.14

[Programming] 컴파일러 (compiler) 언어와 인터프리터 (interpreter) 언어

컴파일러가 뭔지 알아보기 전에 영어 단어 compile 에 대해 알아봄   compile: 엮다, 편집하다 compiler: 편집자, 편찬 interpret: 이해하다, 설명하다, 통역하다 interpreter: 통역사 컴퓨터 과학에서의 컴파일은 어떤 언어의 코드를 다른 언어로 바꾸어주는 것을 뜻함 컴파일러는 이 역할을 해주는 프로그래밍 언어 번역기 정도로 생각하면 될 듯함  프로그래밍 언어는 실행 방식에 따라 크게 2가지로 나뉨  컴파일러 (Compiler) 언어코드 전체를 읽고 기계어로 컴파일속도가 빠름개발 과정에서 컴파일이 필요하므로 개발 속도가 느릴 수 있음대표적인 언어: C, C++, JAVA인터프리터 언어 (Interpreter) 언어한 줄씩 읽고 실행하기 때문에, 컴파일 과정이 필요 없음속도..

Code/ETC 2024.08.14

Object Pose Estimation, 6DoF, BOP challenge

3D 분야에 흥미가 있는데 generative model 을 다루자니 회사 일과 결이 너무 맞지 않음 그래서 3D Object detection 을 찾다가 지나가면서 보기만 했던 6DoF 를 한 번 알아봤음 더보기3D object detection 과 6Dof object pose estimation 의 차이점 3D 객체 검출 (3D object detection):목적: 3D 공간에서 객체의 위치와 크기를 찾는 것출력: 일반적으로 3D 바운딩 박스 (x, y, z 좌표, 길이, 너비, 높이)주로 사용되는 분야: 자율주행, 로봇 내비게이션6DoF 객체 자세 추정 (6Dof object pose estimation):목적: 객체의 정확한 위치와 방향을 결정하는 것출력: 6개의 자유도 (3개의 transla..

AI/Deep Learning 2024.07.26

[Linux] 압축 / 압축 풀기 (tar, tar.gz)

tar 생각보다 압축이 많이 되지 않는다고 함 (파일을 묶는 정도?)실제로도 용량이 꽤 큼 tar 압축tar -cvf [압축 파일명.tar] [압축할 폴더] tar 압축 풀기tar -xvf [압축 파일명.tar]  tar.gz tar 에 비해 더 많이 압축됨 tar.gz 압축tar -zcvf [압축 파일명.tar.gz] [압축할 폴더] tar.gz 압축 풀기tar -zxvf [압축 파일명.tar.gz]   ▶ c 는 create ▶ x 는 extract  추가적으로 가끔 tar 또는 tar.gz 파일로 압축하여 다른 곳에서 압축을 풀었는데, 데이터가 아닌 symbolic link 로 나오는 경우가 있음 그런 경우엔 아래와 같이 압축하면 된다!! tar -hcvf [압축 파일명.tar] [압축할 폴더]ta..

Code/Linux 2024.07.10

Convolutional Neural Networks (CNN)

왜 이제와서 CNN 글을 올리냐고 한다면.. 너무 오래 안쓰다보니 까먹었기 때문에... 최근에는 nlp, cv 분야를 막론하고 모두 transformer 를 사용하지만 이건 학계 또는 빅테크 기준이라고 볼 수 있음 실제 산업, 특히 on-device AI 를 위해선, 모델이 작고 빠른 inference 가 가능해야함 산업에서 사용되는 Object Detection 모델은 대부분 YOLO 라는 CNN 기반의 모델이기 때문에 복습겸 정리해보기로 했음 신경망의 역사를 간단하게 보자면 기존에는 MLP 로 이것저것 다 처리하다가 이미지 처리용으로 CNN 이 등장하게 되었음 CNN 은 이미지에 대한 Inductive Bias 를 가지고 있음  Inductive Bias: 어떤 문제를 해결하기 위한 사전 정보를 통해..

AI/Deep Learning 2024.07.06

[Python] 여러가지 함수 모음 (코딩테스트)

목차 [내장함수] eval [내장함수] map [내장함수] join [내장함수] split [내장함수] upper, lower [내장함수] iter, next [내장함수] replace [내장함수] dict (get, keys, values, items) [내장함수] list (insert, extend, pop, remove) [itertools] permutations, combinations [collections] Counter [collections] deque (rotate, popleft) [내장함수] eval 문자열이 들어오면 그것을 실행시키는 함수 a = eval('1+2') print(a) >>> 3 b = eval(len([1,2,3])) print(b) >>> 3 [내장함수] map..

Code/Python Numpy 2024.04.04