딥러닝 프레임워크 만들기
계획중 model <- network <- layer <- tensor run(forward, backward)
Tensor 클래스 구현(초기)
- Conv2d에 Tensor 적용 작업 및 weight 초기화 기능 필요 (완료)
- 위 작업을 위해 layer(functional) 클래스 추가 (완료)
- Template 제거 (완료)
Layer 클래스 구현
- 각 layer들 클래스 구현
- Conventional_Conv2d
- Zero_Padding
- Pool2d (Avg, Max)
- Eltwise (Prod, Sum)
- Activation (Tan, Sigmoid, ReLU, Swish, reakyReLU)
- DataLoader (load image paths from folder)
- Concat
- Preprocess (/255, Normalize(channel Standard Deviation), HWC->CHW, BGR->RGB)
- Weight initialization(Kaiming He Uniform)
- Dense(fullyconnected) 검증필요
- Softmax 검증필요
- Transformer(bgr->rgb, nhwc->nchw, resize?) 작업중
- GlobalAvgPooling
- BatchNorm
- DeConvolution
- backward
- winograd, gemm, strassen Convolution 도입
- openmp 적용
Calc_Validation
torch 1.9.0+cu111 버전을 이용하여 계산 결과값 비교