6월, 2018의 게시물 표시

[Deep learning] Gradient Descent Optimizer

이미지
https://icim.nims.re.kr/post/easyMath/70 알기 쉬운 산업수학 알기 쉬운 산업수학 Gradient Descent Optimizer 2017년 12월 13일(수) | 김민중 URL  (1) 주어진 목적함수  f f 의 최솟값(minimum)을 찾아가는 알고리즘으로 다음과 같은 방식으로 최솟값을 찾아간다. 초기값  x 0 x 0 을 임의로 설정, 적당한 Learning rate  α α  설정 n ≥ 0 n ≥ 0 인 정수에 대해서  x n + 1 x n + 1 은 다음과 같이 정의한다. x n + 1 : = x n − α ⋅ ∇ f ( x n ) x n + 1 := x n − α ⋅ ∇ f ( x n ) 주의사항 함수 f f 의 모양이 convex가 아닌 경우 global minimum이 아닌 local minimum으로  x n x n 이 수렴할 가능성이 있다. Learning rate  α α  값이 큰 경우 최솟값으로  x n x n 이 수렴하는 것이 아니라 발산할 수 있다. Learning rate  α α  값이 작은 경우 수렴하는 속도가 지나치게 느릴 수 있다. 방정식  2 ⋅ x = 10 2 ⋅ x = 10  의 근을 Gradient Descent를 이용해서 찾아보자. 목적함수  f ( x ) : = ( 10 − 2 x ) 2 f ( x ) := ( 10 − 2 x ) 2 으로 설정하겠다( f f 의 최솟값인 0이 되게 하는  x x 값이 우리가 원하는 방정식의 근이다). 초기값  x 0 = 0 x 0 = 0 , Learning rate  α = 0.05 α = 0.05 으로 설정 f ′ ( x ) = 4 ( 2 x − 10 ) f ′ ( x ) = 4 ( 2 x − 10 ) 이므로  x 1 x 1 은 다음과 같이 구할 수 있다. x 1 = x 0 − α ⋅ f ′ ( x 0 ) = 0 − 0.05 ⋅ ( − 40 ) = 2 x

[Visual Studio][Tesseract] Error C2872 'remove_reference': ambiguous symbol

1. Problem Error C2872 'remove_reference': ambiguous symbol 2. Solution The thing is that the latest C++ has a definition of  remove_reference  in  std  , and  tesscallback.h  contains another definition. When you use  using namespace std , compiler will give an error due to redefinition. You can either  delete all  using namespace std  and use  std::  (recommended and explained  here ) or  uncomment all  definitions of remove_reference  in  tesscallback.h . 3. Reference https://stackoverflow.com/questions/23740431/tesseract-remove-reference-ambiguous-symbol-in-project-on-visual-studio-2012

[OpenCL] How to get libopencl.so

1. How to get libopencl.so for the device To use OpenCL on your mobile device's GPU, you must obtain the compatible libOpenCL.so library and the corresponding OpenCL headers. I initially thought I could just use the C++ OpenCL header available from Khronos website for development, however that didn't work. I faced compilation errors because of incompatible OpenGL headers. There are couple of ways to get the compatible headers. You can either use the  headers  provided along with the example application or extract them from Adreno/Mali SDK. For Adreno SDK, you can find the headers at  <Adreno_SDK>/Development/Inc/CL . For Mali SDK, you can find the headers at  <MALI_SDK>/include/CL . For newer devices such as Samsung Galaxy Note 3 and Samsung Galaxy S5, it is very likely the library is already present on the mobile device. My test device is a Note 3 for which i found the library under  /system/vendor/lib . You can do  adb pull /system/vendor/lib/libOpenCL.so .

[Install .Net SDK][Ubuntu] Install .Net SDK on Ubuntu 16.04 LTS

1. Register Microsoft key and feed wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb 2. Install .NET SDK sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-2.1 3. Reference https://www.microsoft.com/net/learn/get-started/linux/ubuntu16-04

[visual studio code][code][ubuntu] Install visual studio code on Ubuntu

1. Install editer : visual studio code 1-1. download code for ubuntu [64bit] https://go.microsoft.com/fwlink/?LinkID=760868 1-2. de-package sudo dpkg -i code_1.24.1-1528912196_amd64.deb 1-3. install sudo apt-get install -f 1-4. open terminal and run code $> code 2. Reference https://code.visualstudio.com/docs/setup/linux *** Ubuntu os version check :   cat /etc/*release