본문 바로가기

Programming5

Error: cuDNN isn't found FWD algo for convolution. 해결 방법 YOLOv4를 윈도우에서 컴파일 했다. 마스크를 착용한 사람/마스크를 착용하지 않은 사람을 구분하는 예제를 Train하려는데 Error: cuDNN isn't found FWD algo for convolution. 와 같은 에러가 발생했다. 여기저기 구글링을 해봤는데 의외로 해결 방법이 잘 안나와서 포스팅한다. 문제의 원인은 Input Data의 크기가 GPU Memory에 비해 너무 커서 발생하는 것이다. 해결하려면 더 좋은 GPU를 사용하거나, cfg 파일에서 Parameter 값을 조절해주면 된다. 지금 예제를 돌리는 노트북은 메모리가 2gb고, 다음과 같이 설정했을 때 무난하게 돌아간다. 트레이닝도 무난하게 되는 편이다. 워낙 성능이 안좋은 GPU라 그런지 Train 시간이 10시간이 잡혔다. 2021. 5. 18.
DFS 깊이우선탐색, BFS 넓이우선탐색 DFS (Depth-First Search) DFS는 Depth-First Search의 약자로, 깊이 우선 탐색이다. 시작점에서 주변 노드를 찾은 후 (이 때 탐색하는 노드는 문제 조건마다 다르지만 대부분 오름차순으로 진행) 가장 깊은 노드까지 탐색하는 방법이다. 구현방법: 재귀함수를 사용하는데, 그래프가 주어지면 첫 방문 노드의 visited 인덱스 값을 True로 바꿔준다. 이후 노드 방문을 출력해주고, 그 노드의 인접 노드 값들을 for문을 돌려서 인접 노드들 중 방문하지 않은 노드들만 다시 DFS 함수를 실행한다. 코드구현: def dfs(graph, v, visited): visited[v] = True print(v, end = ' ') for i in graph[v]: if not visi.. 2021. 2. 6.
개발자 전직 방법 정리 (혼자 참고용) 21.02.05 전공은 기계공학이지만 항상 코딩을 하고 싶었다. 그래서 결국 기구설계로 입사한 회사에서 제어&머신비전으로 직무변경을 했지만 내가 정말로 원하던 코딩은 서비스 쪽이라는걸 깨달았다. 지금 내 상황에서 어떻게 하면 손해를 최소화하며 이직 혹은 직무 전환을 할 수 있을까 생각을 해봤다. 우선 직장은 계속 다닌다. 하고자 하는 일과 하는 일이 직접적인 연관은 없지만, 그렇다고 내가 지금 하는 일을 잘 못하는 것은 아니라 혹시라도 개발자로의 전직이 잘 풀리지 않을 경우를 대비해서 보험으로 가지고 가고 싶다. 그럼 퇴근하고, 그리고 아침시간마다 내가 뭘 해야할까? 1. 알고리즘 공부 알고리즘은 신입이던 경력이던 요즘은 개발자의 기본 소양인 것 같다. 정말 기본만 공부했었지만 나름 재미있는 것 같아서 .. 2021. 2. 5.
Numpy 배열 값 브로드캐스트 Question 다중 중복이 있는 1차 2차원 누피 배열과 1차 값의 2차 배열이 있습니다. [[ 0 0 1 ] [ 1 0 2 ] [ 2 0 2 ] ... [ 0 0 1 ] [ 3 0 2 ] [ 2 0 2 ]] [[ 0 0 1 ] [ 1 0 2 ] [ 2 0 2 ] [ 3 0 2 ]] 세 번째 2차원 배열(두 번째 배열과 행 수가 동일)에는 두 번째 배열의 해당 행에서 생성되는 몇 가지 추가 값이 포함됩니다. [[ 2 -0.5] [ 2.4 0.5] [ 2.5 0.4] [ 2.4 1]] 첫 번째의 값은 키로, 세 번째의 값은 콘텐츠로 사용하여 새 배열을 만드는 것입니다. 주문은 유지되어야 합니다. [[ 2 -0.5] [ 2.4 0.5] [ 2.5 0.4] ... [ 2 -0.5] [ 2.4 1] [ 2.5.. 2021. 1. 1.