본문 바로가기

분류 전체보기147

정적 라이브러리와 동적 라이브러리 오픈소스를 사용하려다 보니 라이브러리라는 개념을 처음 사용하게 됐다. 라이브러리란 코드를 포함한 컴파일된 파일을 의미한다. 오픈 소스 사용시, 오픈소스의 소스코드를 모두 긁어다가 사용할 수 있지만, 그것보다 라이브러리 형태로 본 프로젝트에 링킹시켜 사용하는게 더 편리하다. 오픈 소스의 모든 소스코드를 쓸게 아니기 때문이다. 라이브러리는 3개의 종류가 있다. 각각 '정적 라이브러리 (Static Library)', '동적 라이브러리 (Dyanmic Library)', '공유 라이브러리 (Shared Library)'이다. 각 라이브러리는 본 프로젝트에 로드되는 시점에 따라 구분할 수 있다. 정적 라이브러리 (Static Library) 정적 라이브러리의 확장자명은 .lib 이다. 그런데 동적 라이브러리 파.. 2022. 4. 26.
라이센스 검색 시스템 https://www.olis.or.kr/ 메인화면 오픈소스 라이선스에 관한 모든 정보를 한번에 해결! 라이선스 유형과 전문지식을 제공하고 다양한 오픈소스 정보도 알려드립니다. 라이선스 교육영상 및애니메이션 OSS 라이선스 상담하기 라 www.olis.or.kr 각 라이센스 별 주요 내용 및 한글 번역 전문, 라이센스 비교포 등을 확인할 수 있는 국내 사이트. 2022. 4. 25.
CUDA 2. Programming Model 원글 : https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#programming-model 2.1. Kernel (CUDA에서의 함수, N개의 thread에서 독립적으로 한번씩 실행되는 함수)Kernel이란 1회 호출 시, 복수개의 CUDA 쓰레드에서 동시에 실행되는 C++ 형식의 함수를 의미한다. Kernel은 CUDA C++에 포함되어 있다.  일반 C++ 함수는 1회 호철 시 1번 실행되는 것과 달리 Kernel은 1회 호출하더라도 복수번 실행되는 것이 특징이다. Kernel은 '__global__' 이라는 선언자를 통해 정의된다. Kernel 호출 시 실행되는 복수개의 Thread는 각각 ID가 부여된다. 실행될 Thread의 개수.. 2022. 4. 24.
곡률 (Curvature) 경로 생성 알고리즘을 개발하다 보면, 곡률은 정말 많이 사용하게 되는 개념이다. 경로가 부드럽기 위해서는 곡률이 연속돼야 하고, Non-holonomic 모빌리티의 경우 Kinematic Constraint 상 곡률 제한이 존재하기 때문이다. 그런데 경로 포인트에 Noise가 조금이라도 있으면 곡률값의 정확도가 떨어진다. 그래서 거리가 먼 포인트를 선정해 곡률을 계산하기도 하고, 이동 평균을 내기도 한다. 어쨌든 곡률을 계산하는 방법을 정리해보자. 1. 원을 사용한 곡률 계산 3개의 포인트가 입력되면, 이 점들을 지나는 원의 반지름과 원의 중심을 결정할 수 있다. 이렇게 계산한 원의 반지름은 3개 포인트 중 두번재 포인트의 곡률 반지름이 된다. 그리고 이 값을 역수로 취하면 곡률 값이 된다. 이 방법은 .. 2022. 2. 10.
강화학습 8 <Continuous Action Space에 적용가능한 DDPG> 최근에 공부한 강화학습 방법은 DQN와 Actor-Critic이 었다. 이 두 방법은 각각 Q함수와 정책 경사를 선택한 방법이다. 그리고 이 두 방법 이후 제시된 방법은 DDPG이다. DDPG는 Deep Deterministic Policy Gradient의 약자이다. 이 방법은 두개의 특징을 가지고 있다. 1. Continuous Action Space (real-value) 에 적용 가능하다. 2. Deterministic Policy를 사용한다. 지금까지 적용한 강화학습 예제는 그리드월드와 같이 Action이 Discrete한 경우였다. 그런데 실제로 Action은 실수단위의 Continuous할 수 있다. 이 경우 Q함수나 Value Function을 학습시킬 수가 없다. Dimension이 거의.. 2022. 1. 10.
Apache 2.0 License (작성 중) https://www.apache.org/licenses/LICENSE-2.0 회사에서 Quadratic Programming 최적화를 푸는 오픈 소스 QP Solver인 OSQP를 사용하게 되었다. 해당 오픈 소스는 Apache 2.0 License를 따르고 있다. Apache 2.0 License 원본은 아래와 같고, 최대한 직역해서 한번 살펴보자. Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for.. 2021. 12. 31.