Hyunjun

param.pkl->params.txt

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