Showing
3 changed files
with
32 additions
and
0 deletions
1 | +1. 계획서 업로드 [강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템 | ||
2 | + | ||
3 | +2. 중간보고서(논문) 업로드 [강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문) | ||
4 | + | ||
5 | +3. simple_convnet 원본코드 업로드 | ||
6 | + | ||
7 | +4. 프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함 | ||
8 | +python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음 | ||
9 | +pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음 | ||
10 | +그래서, 파라미터를 저장하는 부분을 csv로 바꿔 C++에서 그 파일로 읽기위해 params.pkl을 params.csv로 바꾸는 코드를 추가함 | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
simple_convnet/params.csv
0 → 100644
This diff could not be displayed because it is too large.
simple_convnet/params_tocsv.py
0 → 100644
1 | +import pickle as pk | ||
2 | +import numpy as np | ||
3 | +import csv | ||
4 | + | ||
5 | +x = [] | ||
6 | +with open('params.pkl', 'rb') as f, open("params.csv", "w", newline='') as out: | ||
7 | + x = pk.load(f) | ||
8 | + # for key in x.keys(): | ||
9 | + # print(key, " : ", x[key]) | ||
10 | + | ||
11 | + writer = csv.DictWriter(out, ['key', 'shape', 'newline'], delimiter=',') | ||
12 | + newline_ = csv.DictWriter(out, ['newline1', 'newline2'], delimiter=',') | ||
13 | + wr = csv.writer(out, quotechar=None) | ||
14 | + for key_ in x.keys(): | ||
15 | + print("Writing weights -",key_) | ||
16 | + writer.writerow({'key':key_, 'shape':x[key_].shape, 'newline':None}) | ||
17 | + data_ = x[key_] | ||
18 | + for s in x[key_]: | ||
19 | + wr.writerow(s.flatten()) | ||
20 | + newline_.writerow({'newline1':None, 'newline2':None}) | ||
21 | + f.close() | ||
22 | + out.close() |
-
Please register or login to post a comment