일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- DP
- 이분 탐색
- 가끔은 말로
- 백트래킹
- 가끔은_말로
- 자바스크립트
- 분할 정복
- NEXT
- dropout
- c++
- Overfitting
- 알고리즘
- lazy propagation
- BFS
- back propagation
- 문자열
- tensorflow
- 크루스칼
- object detection
- 2023
- 다익스트라
- 미래는_현재와_과거로
- 조합론
- 너비 우선 탐색
- 플로이드 와샬
- 세그먼트 트리
- 우선 순위 큐
- dfs
- pytorch
- 회고록
- Today
- Total
목록Code about AI (40)
Doby's Lab
https://draw-code-boy.tistory.com/511 Python의 Iterator에 대하여 파이썬의 Iterator라는 개념이 존재합니다. 이를 알기 위해서는 Iterable Object에 대해 먼저 알아야 합니다. Iterable Object 파이썬의 모든 것은 객체로 이루어져 있습니다. 때문에 Iterable Object라는 것은 ' draw-code-boy.tistory.com 본 포스팅은 Iterator에 대한 포스팅과 이어집니다. Generator Generator란 Iterator를 생성하기 위한 함수입니다. + 통상적으로 Generator로부터 생성된 Iterator를 Generator Iterator라고 합니다. 기본적인 개념만 듣고는 조금 어렵게 다가올 수 있지만 Iter..
파이썬의 Iterator라는 개념이 존재합니다. 이를 알기 위해서는 Iterable Object에 대해 먼저 알아야 합니다. Iterable Object 파이썬의 모든 것은 객체로 이루어져 있습니다. 때문에 Iterable Object라는 것은 '반복가능한 데이터'로 해석할 수 있습니다. Iterable Object 중 가장 익숙한 것이 list, string 등 여러 가지가 있습니다. li = [1, 2, 3, 4, 5] list를 보면 for loop를 통해 element에 접근할 수 있습니다. for element in li: print(element) 즉, for loop로 element를 하나하나 리턴할 수 있는 객체를 Iterable Object라고 합니다. Iterator Iterator란 ..
Callback keras는 Callback이라는 개념이 있습니다. 에포크를 진행하면서 특정한 값을 모니터링하면서 학습에 변동사항을 주는 기능입니다. Callback에는 여러 가지 종류가 많지만 자주 쓰이는 2가지만 알아봅시다. EarlyStopping EarlyStopping이란 조기 종료라는 뜻으로 에포크를 진행하면서 Overfitting으로 간주된다면 학습을 멈추는 Callback입니다. 조금 더 디테일하게 접근하기 위해 함수부터 알아봅시다. early_stopping_cb = keras.callbacks.EarlyStopping(monitor='val_loss', mode='min', min_delta=0, patience=10, verbose=1, restore_best_weights=True)..
🤔 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이 초과됨에 따라서 런타임도..
객체지향 프로그래밍을 공부하기 위함이기보다는 프로젝트를 하는 데에 있어서 여러 패키지의 모듈들을 사용할 일이 많았습니다. 그러다 보니 코드의 구조를 파악하는 데에 있어서 어려움을 겪었고, 근본적인 어려움부터 해결해보려 합니다. 클래스(Class)란? 클래스란 이제까지 써온 구조체처럼 어떤 타입을 사용자의 입맛에 맞게 선언하는 것과 비슷합니다. 그리고, 그러한 클래스로부터 만든 변수를 Object 혹은 Instance라고 합니다. 간단한 예로 학교의 학생들을 가지고 클래스를 만들어 볼 수 있습니다. 학교에는 무수히 많은 학생들이 존재하며 각각 학생들은 서로의 성적, 성격 등 많은 것들이 다릅니다. 이러한 특징을 가지고 학생(Student) 클래스를 만들어봅시다. 클래스는 새로운 타입을 선언하는 것과 비슷하..
https://www.acmicpc.net/problem/25372 25372번: 성택이의 은밀한 비밀번호 부산사이버대학교 학생 성택이는 엄마의 의뢰를 받아 주어진 문자열이 현관문 비밀번호에 사용 가능한지 알아내야 한다. 성택이는 공부해야 하므로 우리가 도와주자! 사용할 수 있는 비밀번호 www.acmicpc.net Solved By: T = int(input()) arr = ['' for i in range(0, T)] for i in range(0, T): arr[i] = input() for i in range(0, T): if len(arr[i]) >= 6 and len(arr[i])
바로 직전의 포스팅에서 Python을 이용하여 DFS를 구현해보았는데 C++에서는 당연히 사용하던 테크닉들을 정리하여 보았습니다. [Adjust List 구현] adj = [[] for i in range(0, n)] [Global Variable] DFS 코드의 일부분입니다. 문제를 풀면서 당황했던 부분이 이 부분이었습니다. '왜 result에 cnt값이 할당이 안 되지?' 이유를 찾아보았더니 Python에서는 함수 외부에 선언된 전역 변수를 사용하려면 함수 안에서 같은 변수 명의 Global 변수 선언을 해주어야 했습니다. ... result = -1 def dfs(node, cnt): if node == k: global result #global 변수를 사용하여 전역변수를 사용하겠다는 뜻 resu..