본문 바로가기

ONNX ONNX 란? Open Neural Network Exchange의 줄인 말로 이름과 깉이 다른 DNN 프레임워크 환경에서 만들어진 모델을 서로 호환되게 사용할 수 있도록 만들어진 공유 플랫폼 장점 Framework Interoperability 특정 환경에서 생성된 모델을 다른 환경으로 import하여 자유롭게 사용 가능 Shared OPtimization 규격화된 포멧으로 자리를 잡을 경우 다양한 환경에서 효율적으로 적용 가능 구성 방식 ONNX exporter는 IR graph를 만든다는 목표를 가지고 있음 정보를 기록하는 방식에 따라 Trace, Script로 나눔 Trace forward함수 내부에 Tensor 영상 혹은 유저 정의 함수 혹은 python 코드가 실행되며 forward를 한번 수..
vector push_back vs emplace_back 1. push_back 원형 void push_back(const value_type& value); 인자 value : 추가할 원소 값 value_type : 추가할 원소들의 타입 리턴 값 없음 재할당 발생 시 Allocator::allocate()를 통해 예외 처리 가능 할당 실 패 시 bad_alloc 기능 vector의 요소 끝에 원소 추가 작동 방식 삭입할 객체 받음 push_back 내에 임시 객체 생성 임시 객체를 vector에 추가 임시 객체 소멸 장점 암시적인 생성자만 생성 포인터를 변수로 사용할 시 안전 단점 생성자와 소멸자가 두번씩 호출 되어 성능 저하 2. emplae 원형 iterator emplace (Arg&&.. args); 인자 args : 가변인자들 리턴 값 없음 기능 v..
Rust 2020년 StackOverflow에서 65,000명을 대상으로 진행한 설문조사에서 내년에 사용하고 싶은 언어 1등(86.1%) 2021년 기준 6년 연속 StackOverflow에서 프로그래머들이 가장 사랑하는 언어 1. Rust 란? "안전하고 병렬적이며 실용적인" 언어 이며 순수 함수형 프로그래밍, 액터 기반 병렬 프로그래밍, 명령형 프로그래밍, 객체 지향 프로그래밍 스타일이며 2012년 1월 첫 알파 버전인 0.1 발표 2. Rust 특징 - 컴파일 언어 **1 - 다중 패러다임 언어 **2 - LLVM (Low Level Virtual Machine) **3 **1 : https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC_%EC%96%B8%EC%..
정수 제한 예외처리 작업 시 해당 변수의 최댓값이나 최소값을 찾아 보는 경우가 많아 찾던 중 상수로 지정되어 있음을 확인 LLONG_MIN : long long 형식 변수의 최소값 LLONG_MAX : long long 형식 변수의 최대값 INT_MIN : int 형식 변수의 최소값 INT_MAX : int 형식 변수의 최대값 참고 자료 1 : https://docs.microsoft.com/ko-kr/cpp/c-language/cpp-integer-limits?view=msvc-170 C 및 C++ 정수 제한 자세한 정보: C 및 C++ 정수 제한 docs.microsoft.com
[Network] iperf - 통신 속도 및 처리량 확인 1. iperf 란? - 오픈 소스 속도 테스트 및 네트워크 성능 측정 도구 - 통신 구간의 데이터 처리량의 최대치(throughput)를 측정하는 툴 - throughput이 중요한 이유는 제공할 서비스가 가능한지를 판단할 수 있는 기준이기 때문 2. iperf 테스트는 어떤 데이터를 제공? - 사용자가 iperf에서 원하는 주요 정보는 처리량이지만 패킷 손실, 지터 및 트래픽 분포에 대한 정보도 확인 가능 3. iperf vs iperf3 - iperf는 linux 시스템용으로만 제작 - iperf3는 window, mac, android, linux를 포함한 다양한 플랫폼에서 사용 가능 - iperf3가 지원되지 않는 플랫폼에서는 커퓨니티에서 제공하는 바니너리를 찾아 활용 가능 4. 주요 옵션 - ..
지로우라멘 - 영등포 타임스퀘어 지하 1층 매일 11:00 ~ 21:00 바 형태의 테이블도 있어서 혼자가서 먹기도 좋음 1인 1메뉴 시 공기밥은 보너스
우선 순위 큐 (Priority Queue) 우선 순위 큐는 큐나 스택과 비슷한 축약 자료형이다. 예를 들면 일반적인 큐는 선입 선출의 특성이 있고 스택은 후입 선출의 특성이 있다. 또한 우선 순위 큐는 힙이라고 생각을 하는데 이는 오류이다. 우선 순위 큐를 구현하는 방식에 따라 다양한 방법으로 구현 가능하다. 우선 순위 큐를 배열이나 연결리스트로 구현하지 않는 이유는 아래와 같다. 1. 배열로 구현한 경우 우선 순위가 중간인 데이터가 삽입되는 경우 데이터가 삽입되는 위치 부터 모든 데이터를 한칸씩 뒤로 미뤄야하는 문제가 발생하며 시간 복잡도(time complexity)가 O(n)이다. 2. 연결리스트로 구현한 경우 우선 순위가 중간이 데이터가 삽입되는 경우 데이터가 들어갈 위치를 탐색해야하는데 O(n)만큼 걸린다. 3. 힙으로 구현한 경우 힙은..
Dialog 영역 명칭 MFC 작업중 화면을 Customize 할 경우가 생겨 아래와 같이 정리를 해둔다. 모든 window 영역은 Customize가 가능하다. 주의 사항 1. Dialog의 작업 영역과 비 작업 영역의 경계에 선이 나타날 수 있다. 적절하게 변경하여 작업을 진행 할 것 2. Dialog의 창 작업은 비 작업 영역이므로 OnNcPaint()에서 진행하여야한다. 참고 자료 1 : velog.io/@springkim/MFC-%EC%B0%BD-%EC%BB%A4%EC%8A%A4%ED%85%80-%EA%B8%B0%EB%B3%B8 [MFC] 창 커스텀 기본 ###Frame 아래의 함수들은 CFrameWnd 또는 CFrameWndEx를 상속받은 클래스의 메소드에서 이루어 진다. ######1. 시스템 버튼[최소화/최대화/..