OPSOAI
DarkNet 시리즈 - Reorg Layer 대표 이미지

Darknet Reorg Layer가 forward와 backward에서 다르게 움직이는 조건: reverse·extra 우선순위

reverse와 extra를 동시에 켜면 이 Reorg Layer는 순전파와 역전파에서 서로 다른 분기를 탑니다. 순전파는 extra를 먼저 선택하지만 역전파는 reverse를 먼저 선택하기 때문에, 두 옵션은 독립적으로 조합해도 되는 스위치가 아닙니다. 네 가지 동작 모드는 분기 순서로 결정된다 forward_reorg_layer는 flatten...

DarkNet 시리즈 - Parser 대표 이미지

Darknet cfg 파서가 네트워크를 망가뜨리는 순간: route 인덱스·STEPS·가중치 순서

Darknet의 cfg 문제를 찾으려면 개별 옵션보다 먼저 “섹션 읽기 → 레이어 생성 → 출력 크기 전파 → 가중치 로드” 순서를 따라가야 합니다. 이 구현에는 잘못된 route 설정이나 쉼표 목록 하나가 NULL 접근 또는 어긋난 가중치 읽기로 이어질 수 있는 지점이 있습니다. cfg 한 장이 network 구조체가 되는 순서 설정 파일은 첫 ...

DarkNet 시리즈 - Option List 대표 이미지

Darknet data.cfg 옵션이 조용히 잘못 읽히는 이유: '=' 파싱과 문자열 수명

Darknet의 옵션 파서는 key=value 한 줄을 직접 잘라 보관하므로, =이 없는 줄과 문자열 수명을 먼저 점검해야 합니다. 특히 현재 read_option은 =이 전혀 없는 줄을 정상적으로 거부하지 못합니다. 설정 파일은 줄 단위로 읽고 원본 버퍼를 보관한다 read_data_cfg는 파일을 열어 fgetl로 한 줄씩 읽고, strip으로...

DarkNet 시리즈 - Normalize Layer 대표 이미지

Darknet Normalize Layer 역전파가 정확하지 않은 이유: 채널 정규화와 delta 덮어쓰기

이 구현에서 가장 먼저 확인할 점은 backward_normalization_layer가 정확한 미분이 아니라는 사실입니다. 소스에도 TODO This is approximate라고 적혀 있고, 앞 레이어의 net.delta에 더하지 않고 덮어씁니다. 순방향은 같은 위치의 여러 채널을 묶는다 이 레이어는 너비와 높이를 바꾸지 않습니다. 배치마다 입...