kmc선배님 자료 찾았는데, 가중치 write 부분이 없어서 어느 부분이 커널이고 가중치이고 풀링인지 파악해야함
mnist는 아니지만 cifar10의 data.h파일을 참조하면서 비슷한 형태들의 텍스트파일을 만들어야함
- 선언된 변수들 -> 커널, conv. pooling 뭔지 파악해야함
// Init Nodes
Node node [5]; // Input - Conv - Pool - Conv - Pool
Node conv_kernel [2]; // 2 Conv
Node pool_mark [2]; // 2 Pool
Node cnp_delta [4]; // Conv - pool - Conv - Pool
Node conv_momentum [2]; // * * *
Node conv_dKernel [2]; // * * *
Node layer [4]; // Input - Hidden - Hidden - Output
Node weight [3]; // * * *
Node delta [4]; // Input - Hidden - Hidden - Output
Node momentum [3]; // * * *
Node dWeight [3]; // * * *
// Convolution
conv_kernel[0] = InitKernel(D3, 1 * 8, 5, 5);
conv_kernel[1] = InitKernel(D3, 8 * 16, 5, 5);
// Weight
weight[0] = InitWeight(D3, 1, 256 , 128 );
weight[1] = InitWeight(D3, 1, 128 , 64 );
weight[2] = InitWeight(D3, 1, 64 , 10 );
- 텍스트파일 저장이 안되는 layer, delta는 Write1DData함수를 사용. ((맞는 적용인지는 모르겠음))
Write3DData(node[0], f); // 가중치 파일에 쓰기 (수빈)
Write3DData(node[1], f); // 가중치 파일에 쓰기 (수빈)
Write3DData(node[2], f); // 가중치 파일에 쓰기 (수빈)
printf("---------node write---------\n");
Write3DData(conv_kernel[0], f1); // 가중치 파일에 쓰기 (수빈)
Write3DData(conv_kernel[1], f1); // 가중치 파일에 쓰기 (수빈)
printf("---------conf_kernle write---------\n");
Write3DData(weight[0], f2); // 가중치 파일에 쓰기 (수빈)
Write3DData(weight[1], f2); // 가중치 파일에 쓰기 (수빈)
Write3DData(weight[2], f2); // 가중치 파일에 쓰기 (수빈)
printf("--------weight write---------\n");
Write1DData(layer[0], f3); // 가중치 파일에 쓰기 (수빈)
Write1DData(layer[1], f3); // 가중치 파일에 쓰기 (수빈)
Write1DData(layer[2], f3); // 가중치 파일에 쓰기 (수빈)
Write1DData(layer[3], f3); // 가중치 파일에 쓰기 (수빈)
printf("---------layer write---------\n");
Write1DData(delta[0], f4); // 가중치 파일에 쓰기 (수빈)
Write1DData(delta[1], f4); // 가중치 파일에 쓰기 (수빈)
Write1DData(delta[2], f4); // 가중치 파일에 쓰기 (수빈)
Write1DData(delta[3], f4); // 가중치 파일에 쓰기 (수빈)
printf("---------delta write---------\n");
Write3DData(cnp_delta[0], f5); // 가중치 파일에 쓰기 (수빈)
Write3DData(cnp_delta[1], f5); // 가중치 파일에 쓰기 (수빈)
Write3DData(cnp_delta[2], f5); // 가중치 파일에 쓰기 (수빈)
Write3DData(cnp_delta[3], f5); // 가중치 파일에 쓰기 (수빈)
printf("---------cnp_delta write---------\n");
- data (concatenate test) 구조
처음에 이미지 28줄만큼 틀 마련
다음에 R,G,B 틀 마련
그 다음부터
Conv1
Poo1
Conv2
Pool2
// 합성곱, 풀링 계층이 모델 순서에 따라서
hidden1 (2XN)
hidden2 (1XN)
'ESL 연구실 활동 > LAB' 카테고리의 다른 글
[08] 임베디드 직무강좌 (0) | 2022.05.22 |
---|---|
[07] 임베디드 직무강좌 (0) | 2022.05.20 |
0518 연구원분들 회의 (0) | 2022.05.18 |
_ (0) | 2022.05.08 |
0504 (작성중) (0) | 2022.05.04 |
0502 한 일 / 해야할 일/ 미팅 (0) | 2022.05.02 |