전체 글
스타트업 6년차 Computer Vision 엔지니어. 논문 리뷰 및 코딩 삽질 등을 공유하고 있습니다. Pose Estimation을 주로 하고 있어요. LinkedIn : https://www.linkedin.com/in/wooil-jang-7b2853193/
-
from django.views.decorators.http import require_POST import json @require_POST def api_sample(request): data = json.loads(request.POST.get('targets')) print(data) # {'key1': [[1, 2, 3], [65, 3, 11], ...]} Python $.ajax({ type: 'POST', url: '/api_sample', dataType: 'json', data: { targets:JSON.stringify({"key1":[[1, 2, 3], [11, 22, 33]]}) }, success: (res)=>{ console.log(res) }, error: (error)=>..
django array input request POST로 받는 법from django.views.decorators.http import require_POST import json @require_POST def api_sample(request): data = json.loads(request.POST.get('targets')) print(data) # {'key1': [[1, 2, 3], [65, 3, 11], ...]} Python $.ajax({ type: 'POST', url: '/api_sample', dataType: 'json', data: { targets:JSON.stringify({"key1":[[1, 2, 3], [11, 22, 33]]}) }, success: (res)=>{ console.log(res) }, error: (error)=>..
2024.02.21 -
지난 글 - CPP(C++) 변수 선언 및 초기화 방법 (CPP#1) 이번 글에서는 CPP(C++)에서 상수 선언, 배열, 벡터를 쓰는 방법에 대해 알아보겠습니다. 1. CPP에서 상수 선언하는 방법 CPP(C++)에서 상수 선언하는 방법은 크게 2가지를 많이 사용합니다. const와 define인데요. 1) const const double pi {3.141592}; const를 사용할 때는 데이터 타입(double) 앞에 "const"로 적어서 이게 값이 변하지 않는 "상수"임을 명시해 줍니다. 2) define #define pi 3.141592 반면에 define은 별도로 데이터타입을 지정하지 않고 바로 사용합니다. 이게 편하긴 하지만 data type에 민감한 C++ 특성상 const를 사용하는..
C++ 상수와 배열(Array), 벡터(vector)지난 글 - CPP(C++) 변수 선언 및 초기화 방법 (CPP#1) 이번 글에서는 CPP(C++)에서 상수 선언, 배열, 벡터를 쓰는 방법에 대해 알아보겠습니다. 1. CPP에서 상수 선언하는 방법 CPP(C++)에서 상수 선언하는 방법은 크게 2가지를 많이 사용합니다. const와 define인데요. 1) const const double pi {3.141592}; const를 사용할 때는 데이터 타입(double) 앞에 "const"로 적어서 이게 값이 변하지 않는 "상수"임을 명시해 줍니다. 2) define #define pi 3.141592 반면에 define은 별도로 데이터타입을 지정하지 않고 바로 사용합니다. 이게 편하긴 하지만 data type에 민감한 C++ 특성상 const를 사용하는..
2024.01.05 -
인공지능(딥러닝) 데이터 수집 때문에 CPP(C++)을 배우기 시작했습니다. 센서 데이터는 대부분 다 CPP로 처리를 하더라구요. 간단하게 정리해보도록 하겠습니다. 1. 변수 선언 및 초기화 방법 // 1.초기화 안한 경우 int age; // 2.초기화 한 경우 int age = 21; int age (21); // 생성자로 초기화 int age {21}; // 중괄호 초기화 (C++11부터 된 리스트 초기화 문법) 이렇게 3가지 초기화 방법이 있고, 나처럼 Python이나 Javascript에 익숙한 경우 첫번 째 방식이 편하다. (int age = 21;) 근데 보통은 3번째 방식으로 많이 쓴다고 한다. (중괄호, int age {21};) 2. 전역 변수(global) 및 지역 변수(local) ..
CPP(C++) 변수 선언 및 초기화 방법 (CPP#1)인공지능(딥러닝) 데이터 수집 때문에 CPP(C++)을 배우기 시작했습니다. 센서 데이터는 대부분 다 CPP로 처리를 하더라구요. 간단하게 정리해보도록 하겠습니다. 1. 변수 선언 및 초기화 방법 // 1.초기화 안한 경우 int age; // 2.초기화 한 경우 int age = 21; int age (21); // 생성자로 초기화 int age {21}; // 중괄호 초기화 (C++11부터 된 리스트 초기화 문법) 이렇게 3가지 초기화 방법이 있고, 나처럼 Python이나 Javascript에 익숙한 경우 첫번 째 방식이 편하다. (int age = 21;) 근데 보통은 3번째 방식으로 많이 쓴다고 한다. (중괄호, int age {21};) 2. 전역 변수(global) 및 지역 변수(local) ..
2023.12.29 -
인공지능 모델 오픈소스를 보다보면 항상 'ReLU' 가 있는 걸 볼 수 있습니다. 보통 딥러닝을 처음 공부할 때는, sigmoid나 softmax 등 다른 activation function도 많이 배우게 되죠. 근데 왜 대부분 ReLU 를 쓰는 걸까요? 오늘 이 글에서는 왜 ReLU가 많이 쓰이는지, ReLU는 어떤 한계가 있는지를 같이 설명해 보겠습니다. 이 글에서 다뤄볼 내용의 순서는 아래와 같습니다. Vanishing Gradient 문제 ReLU Leaky ReLU ReLU의 의문점 1. Vanishing Gradient 문제 ReLU 전에는 Sigmoid를 활성화 함수로 많이 사용했습니다. 이 때는 위의 그림에서 보이는 것처럼 x 값이 커지거나 작아질수록 미분값(기울기)이 0이 되는 걸 볼 수..
딥러닝 Activation Function, 왜 ReLU만 쓰나요?인공지능 모델 오픈소스를 보다보면 항상 'ReLU' 가 있는 걸 볼 수 있습니다. 보통 딥러닝을 처음 공부할 때는, sigmoid나 softmax 등 다른 activation function도 많이 배우게 되죠. 근데 왜 대부분 ReLU 를 쓰는 걸까요? 오늘 이 글에서는 왜 ReLU가 많이 쓰이는지, ReLU는 어떤 한계가 있는지를 같이 설명해 보겠습니다. 이 글에서 다뤄볼 내용의 순서는 아래와 같습니다. Vanishing Gradient 문제 ReLU Leaky ReLU ReLU의 의문점 1. Vanishing Gradient 문제 ReLU 전에는 Sigmoid를 활성화 함수로 많이 사용했습니다. 이 때는 위의 그림에서 보이는 것처럼 x 값이 커지거나 작아질수록 미분값(기울기)이 0이 되는 걸 볼 수..
2023.12.17 -
PyTorch로 딥러닝을 배운지 얼마 안됐나요? 아마 이런 코드를 시도때도 없이 봤을 겁니다. self.layer1 = nn.Linear(1100, 100) self.layer2 = nn.Linear(100, 100) 앞 layer와 뒷 layer가 전부 연결되어있다고 해서 Fully Connected Layer라고 하는데요. 사실 CNN 모델들이나 대부분 잘되는 모델 보면 Fully Connected Layer가 별로 없습니다. 왜 그럴까요? Fully Connected Layer는 이런 문제가 있어서 그렇습니다. 계산 효율성이 떨어짐 : 모든 노드 간의 관계를 다 계산해야 하기 때문 학습 데이터에 overfitting 될 수 있음 : 모든 노드 간의 관계 계산 → 파라미터가 너무 많아짐 → 모델이 너..
Fully Connected layer의 문제점과 Convolution 연산 정리PyTorch로 딥러닝을 배운지 얼마 안됐나요? 아마 이런 코드를 시도때도 없이 봤을 겁니다. self.layer1 = nn.Linear(1100, 100) self.layer2 = nn.Linear(100, 100) 앞 layer와 뒷 layer가 전부 연결되어있다고 해서 Fully Connected Layer라고 하는데요. 사실 CNN 모델들이나 대부분 잘되는 모델 보면 Fully Connected Layer가 별로 없습니다. 왜 그럴까요? Fully Connected Layer는 이런 문제가 있어서 그렇습니다. 계산 효율성이 떨어짐 : 모든 노드 간의 관계를 다 계산해야 하기 때문 학습 데이터에 overfitting 될 수 있음 : 모든 노드 간의 관계 계산 → 파라미터가 너무 많아짐 → 모델이 너..
2023.12.12 -
"https://arxiv.org/pdf/2208.12908.pdf" 이런 URL이 있다면 arxiv 중 가운데 x를 5로 바꾸면 됩니다. "https://ar5iv.org/pdf/2208.12908.pdf" 아카이브(arxiv) 논문이 html화 되어 나옵니다. 크롬 사용하는 경우 자동 번역으로 편하게 볼 수 있어요! 가운데 "5"만 기억하세요!
arxiv (아카이브) 논문 쉽게 보는법"https://arxiv.org/pdf/2208.12908.pdf" 이런 URL이 있다면 arxiv 중 가운데 x를 5로 바꾸면 됩니다. "https://ar5iv.org/pdf/2208.12908.pdf" 아카이브(arxiv) 논문이 html화 되어 나옵니다. 크롬 사용하는 경우 자동 번역으로 편하게 볼 수 있어요! 가운데 "5"만 기억하세요!
2023.12.06