| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 2023
- 회고록
- 세그먼트 트리
- 너비 우선 탐색
- object detection
- 플로이드 와샬
- Overfitting
- NEXT
- 백트래킹
- back propagation
- tensorflow
- 분할 정복
- 알고리즘
- 조합론
- pytorch
- 다익스트라
- DP
- dropout
- 우선 순위 큐
- 크루스칼
- 문자열
- lazy propagation
- 가끔은 말로
- 자바스크립트
- dfs
- 미래는_현재와_과거로
- c++
- 가끔은_말로
- BFS
- 이분 탐색
- Today
- Total
목록전체 글 (566)
Doby's Lab
데이터셋의 이미지를 전처리하는 과정에서 모델에 학습시키기 위해 input_shape를 모델과 같게 맞춰주어야 합니다. 즉, 사이즈를 바꿔주어야 하는데 이 과정에서 어떤 과정을 거칠지는 엔지니어의 몫입니다. 사이즈를 바꿔주는 과정에는 크게 3가지가 있습니다. Warping Center Cropping Padding 3가지 과정을 설명하기 위해 아래의 고양이 사진으로 진행해 보겠습니다. Warping Warping은 이미지를 왜곡시켜서 사이즈를 맞추는 기법입니다. 이미지를 왜곡시키다 보니 이미지의 정보에 대한 손실이 있기 때문에 저는 잘 사용하지 않습니다. Padding (= Zero Padding) Padding은 특정한 사이즈에 빈칸이 남는다면 pixel 값을 0(=검은색)으로 채워 이미지 사이즈를 맞추..
🤔 Problem 모델을 학습시키는 과정에서 이상한 현상이 나타나 문제점으로 삼았습니다. 문제는 train_set의 Accuracy는 100%로 유지되며 Loss는 변동이 거의 없다가 갑자기 한 두 번 엄청 상승하는 현상이었습니다. validation_set에서도 이러한 문제점을 찾을 수 있었습니다. Accuracy가 100%로 유지되고, Loss는 0으로 유지되었습니다. 이런 완벽한 모델이 현실에서 존재할 수 없을뿐더러 완벽했다면 test_set에서도 좋은 결과가 있었어야 하지만, Accuracy는 약 50%, Loss는 약 84.4가 나왔습니다. 😀 Solution 문제점은 데이터셋이 아예 섞여있지 않았기에 발생했던 문제입니다. 문제에 대한 이유 추측 모델이 개에 대해서만 학습했다가 고양이가 들어오니..
🤔 Problem 이미지 데이터셋을 전처리하는 과정에서 Min Max Scaling 방법을 통해 Normalization을 해주려 했습니다. 이미지 Dataset이기 때문에 min값과 max값이 각각 0, 255이기 때문에 데이터셋에 255.0을 나누어주면 되죠. (+255.0으로 나누는 이유는 255.0으로 나눔으로써 int type에서 float type으로 type casting이 되기 때문입니다.) 즉, 코드로 나타내면 이런 식으로 해주면 되겠죠. def minmax_scaler(dataset) dataset = dataset / 255.0 return dataset 여기서 문제가 발생합니다. 시스템 RAM을 모니터링해보면 RAM이 초과되는 것을 알 수 있습니다. RAM이 초과됨에 따라서 런타임도..
https://www.acmicpc.net/problem/1448 1448번: 삼각형 만들기 첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다 www.acmicpc.net Level: Silver III Solved By: Geometry 삼각형이 되는 조건을 이용합니다. 세 변이 주어졌을 때, a, b, c가 오름차순으로 커진다고 합시다. 그럼 a + b > c가 되어야 하는 조건을 이용하여 문제를 풀 수 있습니다. 변이 주어지면 내림차순으로 정렬하여 순서대로 3개의 원소를 골라서 삼각형의 조건을 만족하면 break를 걸어 세 변의 합을 출..
✔️ Contents Intro Purpose Tool Step 1: Get Data Step 2: Path to Image Step 3: Modeling Outro ✔️ Intro 12월이 되고 해를 마무리 짓는 시기가 되면서 올해 부족했던 것들을 찾는 시간을 가졌었습니다. 인공지능에 대한 이론과 간단한 기초 실습을 공부해봤던 8월 말부터 9월 말까지 2개월 후 남은 건 기초뿐이라 느꼈습니다. 그리고, 11월쯤 Kaggle에서 곧바로 하고 싶던 인공지능을 공부하기에는 다른 분들의 Notebook 코드가 하나도 이해되지 않았었습니다. 그래서 스스로를 판단하기에 '중간에 무언가를 건너뛴 것 같다.'라는 생각이 들었습니다. 프로젝트 하나 없이 무언가를 시도하려 했던 건 너무 무모했던 것 같습니다. 당연히 공..
https://www.acmicpc.net/problem/1331 1331번: 나이트 투어 나이트 투어는 체스판에서 나이트가 모든 칸을 정확히 한 번씩 방문하며, 마지막으로 방문하는 칸에서 시작점으로 돌아올 수 있는 경로이다. 다음 그림은 나이트 투어의 한 예이다. 영식이는 6× www.acmicpc.net Level: Silver V Solved By: Implementation 3가지 조건을 따져주어야 합니다. 나이트로 이동 가능한가? 방문했던 곳을 다시 방문하지 않는가? 마지막 나이트가 처음 나이트로 갈 수 있는가? 섣불리 코드를 썼다가 틀릴 수도 있는 문제입니다. #include #include #define pii pair using namespace std; vector chess; struc..
객체지향 프로그래밍을 공부하기 위함이기보다는 프로젝트를 하는 데에 있어서 여러 패키지의 모듈들을 사용할 일이 많았습니다. 그러다 보니 코드의 구조를 파악하는 데에 있어서 어려움을 겪었고, 근본적인 어려움부터 해결해보려 합니다. 클래스(Class)란? 클래스란 이제까지 써온 구조체처럼 어떤 타입을 사용자의 입맛에 맞게 선언하는 것과 비슷합니다. 그리고, 그러한 클래스로부터 만든 변수를 Object 혹은 Instance라고 합니다. 간단한 예로 학교의 학생들을 가지고 클래스를 만들어 볼 수 있습니다. 학교에는 무수히 많은 학생들이 존재하며 각각 학생들은 서로의 성적, 성격 등 많은 것들이 다릅니다. 이러한 특징을 가지고 학생(Student) 클래스를 만들어봅시다. 클래스는 새로운 타입을 선언하는 것과 비슷하..
https://www.acmicpc.net/problem/10266 10266번: 시계 사진들 상근이는 보통의 시계와는 다른 독특한 시계 사진 두장이 있습니다. 시계는 n개의 동일한 길이와 목적을 가진 시계 바늘들을 가지고 있습니다. 애석하게도 시계의 숫자들은 희미해져 각 시계 바 www.acmicpc.net Level: Platinum IV Solved By: KMP 우선 각도들이 크기에 상관없이 랜덤 하게 주어지기 때문에 정렬을 해줄 필요가 있습니다. 시계 모양이 같다는 건 시침을 모두 두었을 때 인접한 시침마다의 각이 같다는 것을 뜻합니다. 즉, 정렬한 배열의 인접한 수들의 차를 구하여 새로운 배열을 만들면 됩니다. vector process(vector& v){ vector ret; for(int..