분류 전체보기(14)
-
Risk 관리 기법
IT 프로젝트 진행시 Risk에 대해서 사전에 관리하기 위한 기법을 기술합니다.출처 : the Art of Agile Development by James Shore & Shane Warden --회의 전 칠판에 아래와 같은 항목을 적어둡니다. 1. 프로젝트 관련해서 밤에 잠이 안오게 만드는 것들이 무엇이냐? 2. 프로젝트가 실패로 끝나고 1년 후에 팀장과 면담을 하는 것을 상상해보라. 무엇이 잘못되었고, 언제 잘못되었는가? 3. 프로젝트 관련해서 환상적으로 좋은 것을 상상해보고, 반대로 나쁜 것을 적어라. 4. 어느 누구도 잘못한 것이 없는데 프로젝트가 어떻게 실패할 수 있는가? 5. 영업, 고객, QA, 협력사, 개발자, 팀장, 사장님 포함 경영진, 아니면 당신..
2025.01.23 -
OpenVINO int8 모델 변환 2024.5 버전
OpenVINO 2022 버전의 경우는 아래 블로그에 int8 모델 변환이 잘 설명되어 있습니다만,https://da2so.tistory.com/65 OpenVINO 뽀개기 (3) OpenVINO QuantizationOpenVINO 모델을 optimization하기 위한 방법으로 Quantization에 대해 설명드립니다. 1. Quantization이란? 기존 Torch, ONNX model의 parameters(i.e. weights, bias)들은 각각이 float32로 표현되어 있습니다. Quantization은 floda2so.tistory.com2024.5 버전으로 오면서 INT8 모델 변환하는 것이 NNCF (Neural Network Compression Framework) 사용으로 변..
2024.12.14 -
C++ wchar unicode utf-8 utf-32
Unicode 는 문자를 메모리에 저장할 때 어떤 값으로 저장할지 정해둔 코드 체계 중 하나 이다.Unicode에서 문자 하나를 몇 bit 로 표현하느냐에 따라서 8bit 즉 1byte씩 문자에 따라 여러 bytes로 표현될 수 있는, 가변 길이로 표현하는 것이 utf-8이고, 문자당 32bit 고정 길이로 표현하는 것이 utf-32 이다. utf-8 포맷으로 저장된 아래와 같은 cpp 소스가 있을 때, std::string str("가나다") 와 같이 작성하면, str 에 utf-8 로 "가나다" 가 저장되게 되고, str.size() 해보면 9 가 나온다. 이는 한글 unicode경우 utf-8 형식에서는 글자당 3 bytes 차지하기 때문이다.std::setlocale(LC_ALL, ""); //..
2024.09.06 -
python에서 실행중인 파일 경로 구하기
python에서 실행중인 파일 경로 구하는 방법은 pyinstaller를 이용 exe실행파일화 되었을 경우와 python abc.py 와 같이 python script로 실행되었을 경우로 나눌 수 있다. 전자의 경우는 sys.executable 로 실행파일의 전체 절대 경로를 얻을 수 있고, 후자의 경우는 __file__ 을 통해 실행파일의 전체 절대 경로를 얻을 수 있다.import sysimport os# pyinstaller로 exe로 변환되었을 시print(f"exec {sys.executable}")# 실행 python script 파일 절대 경로명과 파일포함된 폴더명path = os.path.abspath(os.path.dirname(__file__))print(f"__file__ {pat..
2024.08.27 -
C 혹은 C++ 에서 실행중인 파일 경로 구하기
Linux 상에서는 process id가 1234가 일 경우 /proc/1234/exe 에 전체 실행 파일명 포함 경로를 알 수 있고, 여기서 실행파일이 위치한 폴더명을 뜯어낸다.bool get_exepath(std::string& ret){ char arg1[20]; char exepath[1024] = {0}; snprintf(arg1,20,"/proc/%d/exe",getpid()); if (readlink(arg1, exepath, 1024) Windows에서는 GetModuleFileNameW() 을 이용 실행 파일명 포함 경로를 알 수 있고, 이를 이용 실행파일이 위치한 폴더명을 알아낼 수 있다. 아래의 예는 이렇게 구한 전체 path에 실행파일이 있는 실행폴더내 "m..
2024.08.27 -
Python과 C 혹은 C++ 연동 사용하기
Python을 사용하다보면 어떠한 목적으로 C혹은 C++ 쪽에서 작성한 코드와 연동하여 사용할 필요가 있다. 이는 성능이슈로 C, C++를 사용하든, 아니면 python 코드의 경우 코드를 완벽하게 숨길 수 없어 숨겨야하는 핵심 코드가 있든... 아무튼 C, C++ 와 Python 간의 연동을 위한 ctypes 라는 모듈이 있는데, 기본적으로 C 로 작성된 코드들을Python script에서 사용할 수 있도록 해준다. 자세히는 아래 url을 참고한다.https://docs.python.org/ko/3/library/ctypes.html 아래는 C/C++ 모듈에서 JPG 파일을 읽은 후 디코딩한 RGB 이미지를 Python으로 전달해서 화면에 표시하기 위해서 PIL 모듈의 Image 객체를 만드는 예제이..
2024.08.27