목록python (14)
yusukaid's IT note
※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. pyconnx_test.py CONNX Model을 작동시키기 위한 메인 파일 import ctypes import sys # C 구조체 from pyconnx_Types import Model from pyconnx_Types import Tensor # C 함수 import pyconnx # 라이브러리 경로 설정 path =f'./libconnx.so' connx = ctypes.cdll.LoadLibrary(path) args = sys.argv # C 함수를 더욱 잘 활용하기 위함 connx_init = pyconnx.init() connx_init_model_name = pyconnx.init_model_name() co..
※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. pyconnx_Types.py 로직: C 구조체들을 모은 파이썬 파일 파일 'pyconnx_Types'로 통합한 구조체 및 클래스 목록 DataType Operator Tensor Node Graph Model import ctypes import sys path =f'./libconnx.so' connx = ctypes.cdll.LoadLibrary(path) args = sys.argv #datatype class DataType(ctypes.Structure) : pass #operator class Operator (ctypes.Structure): pass #tensor class Tensor(ctypes.Structur..

※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. 원래는 함수, 구조체별로 코드를 분할 해 총 17개의 파일로 만들었으나, 업체에서 라이브러리를 불러오는 코드가 너무 불필요하게 많이 사용되어 시스템 부하의 문제가 발생할 수 있다는 우려가 들어왔다. 따라서 함수, 구조체별로만 코드를 묶어 분할하는 방향으로 프로젝트를 진행했다. pyconnx.py 로직: C 함수들을 모아 놓은 파이썬 파일 파일 'pycoonx'로 통합한 함수 목록 compare() alloc() convert_input_file() convert_output_file() init_model_name() init() load_Model() Model_destroy() run_Model() set_input_count..

※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. demo.py를 다음과 같이 분할 후 실행 하면, 순환 참조 오류가 발생한다. # Set C function : init_model = load model and run model import ctypes from ctypes.wintypes import POINT import sys from enum import Enum # Set path And Load Library path =f'./libconnx.so' connx = ctypes.cdll.LoadLibrary(path) args = sys.argv # Set C Stucture by python ctypes class connx_Graph(ctypes.Structure)..

※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. demo.py 연구 과제를 준 기업에서 보낸 demo 파일. 해당 파일을 파이썬에 맞게 튜닝하고 코드를 분할해야 한다. 라이브러리 import import ctypes from ctypes.wintypes import POINT import sys from enum import Enum ctypes : ctypes 라이브러리를 이용하기 위함 ctypes.wintypes : 특정 데이터형을 제공하여 구조체를 정의할 수 있게 함 sys : 파이썬 인터프리터를 제어하기 위함 enum : 여러 개 상수의 집합을 정의할 수 있음 so 파일 불러오기 path =f'./libconnx.so' connx = ctypes.cdll.LoadLibr..

※본 포스팅은 22년 9월~22년 11에 진행된 프로젝트의 연구노트입니다. __pycache__ : 파이썬 파일이 실행되면 자동적으로 생기는 byte 파일 include : C 라이브러리 호환을 위한 헤더 파일 mnist : connx model 을 위한 데이터셋 libconnx.so : C 언어로 작성된 so livrary 파일 pyconnx : C 함수들을 모아놓은 파이썬 파일 pyconnx_test : connx model을 작동시키기 위한 메인 파일 pyconnx_Types : C 구조체들을 모아놓은 파이썬 파일