일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 김양재 목사
- 확률
- Deep learning
- 빅데이터
- probability
- 빅 데이타
- data science
- No SQL
- nodeJS
- 몽고디비
- WebGL
- 우리들교회
- Artificial Intelligence
- 인공지능
- MongoDB
- 김양재
- Big Data
- 빅데이타
- 통계
- Statistics
- 데이터 과학
- 딥러닝
- 주일설교
- Machine Learning
- openCV
- node.js
- 김양재 목사님
- c++
- 빅 데이터
- R
- Today
- Total
목록GPU (16)
Scientific Computing & Data Science
Written by Geol Choi | May 13, 2018이번 포스팅에서는 지난 포스팅(CNTK CPU Example 코드 작성하기)에 이어 CNTK의 GPU 개발환경을 구성하고 예제(Logistic Regression) 코드를 작성하는 것에 대하여 설명하도록 하고자 합니다. 참고로, 개발환경은 다음과 같습니다:OS : Windows 10 64bitIDE : Visual Studio 2015(Ver. 14).NET Framework : 4.5 or higherRuntime Env. : GPU 설명은 자세한 튜토리얼 형식으로 진행하도록 하겠습니다.Visual Studio 프로젝트 생성Visual Studio 메뉴에서 File > New > Project를 클릭하여 새로운 프로젝트를 생성합니다. Tem..
Written by Geol Choi | Oct. 01, 2017 이번 포스팅에서는 R에서 GPU(CUDA)가 지원되는 TensorFlow 실행환경을 구축하는 방법에 대하여 알아보겠습니다. 수많은 삽질(?)을 한 끝에 알아낸 나름의 방법인데 정답인지는 모르겠습니다. 다만 이 방법으로 실행환경을 설정하면 확실히 R에서 GPU가 지원되는 TensorFlow를 활용할 수 있을 것입니다.설치환경Windows 7 OS 환경에서 설치방법을 설명하겠지만, Mac OS나 Linux 계열에서도 비슷한 방법으로 설치가 가능하리라 생각됩니다. 필자의 설치환경은 다음과 같습니다:OS: Windows 7 64bit그래픽스 카드: Nvidia GeForce GTC 750TiR: 3.4.2 (Short Summer) - 이 글을 ..
Written by Geol Choi | Aug. 30, 2017 최근 Continuum Anaconda가 4.4.0으로 강제(?) 업그레이드 되면서 그 동안 잘 돌아가던 GPU Support TensorFlow가 동작하지 않는 현상이 발생하였습니다 (물론 Anaconda 환경에서 CPU 기반 TensorFlow는 잘 동작하고 있습니다). Ananconda 4.4.0으로 업그레이드 후 기존에 해왔던대로, TensorFlow 공식 블로그의 "Installing TensorFlow on Windows"를 참고하여 Anaconda Prompt에서 다음 절차대로 GPU 지원 TensorFlow를 설치해 보았습니다. Installing with AnacondaThe Anaconda installation is c..
들어가기에 앞서...GPU(그래픽 처리 장치)는 최근 많은 계산이 요구되는 작업을 해야 하는 경우에 대해 더욱 인기를 얻고 있다. 이러한 장점에도, R에서의 GPU의 사용은 매우 제한되어 있었다. 불가능한 것이 아님에도 저수준 인터페이스 작업에 익숙하지 않은 프로그래머들에게 OpenCL이나 CUDA는 어렵다. 복잡한 GPGPU 코드를 추상화하는 R의 고수준 프로그래밍에 대한 바인딩을 생성하는 것은 R 유저들에게 GPU를 쉽게 활용할 수 있는 길을 열어준다. 이에 대한 핵심 아이디어를 제공하는 것이 gpuR 패키지이다. gpuR은 다음 세 가지 기발한 측면이 있다:'모든' GPU에 대해 적용이 가능하다.CUDA/OpenCL을 추상화하여 기존의 R 알고리즘에 쉽게 통합할 수 있다.객체가 GPU에서 지속 될 ..
[Lec 00]수업의 개요와 일정[Lec 01]기본적인 Machine Learning의 용어와 개념 설명[Lab 01]TensorFlow의 설치 및 기본적인 Operations[Lec 02]Linear Regression의 Hypothesis와 Cost[Lab 02]TensorFlow로 간단한 Linear Regression 구현[Lec 03]Linear Regression의 Cost 최소화 알고리즘[Lab 03]Linear Regression의 Cost 최소화의 TensorFlow 구현[Lec 04]Multi-variable Linear Regression[Lab 04]Multi-variable Linear Regression을 TensorFlow에서 구현하기[Lec 5-1]Logistic Classi..
이 글은 본래 Capital of Statistic에 중국어로 간행된 것이며 많은 훌륭한 조언을 해준 He Tong에게 감사를 전한다.이 글에 수록된 모든 코드는 GitHub[링크]에 있다.데이터 과학자들은 R, SAS, SPSS, MATLAB 등과 같은 통계 소프트웨어에 이미 익숙해있다; 그러나, 일들 중 일부는 병렬 컴퓨팅에 상대적으로 미숙하다. 그래서 이 글에서 R에서 병렬 컴퓨팅 사용에 대한 기본개념을 소개하고자 한다. 병렬 컴퓨팅이란 무엇인가?병렬 컴퓨팅은 분명히 고성능 컴퓨터와 병렬 소프트웨어를 포함해야 한다. 고성능 컴퓨터의 피크(Peak) 성능은 급증하고 있다. 최근의 세계 500대 수퍼컴퓨터 랭킹에서 중국의 Sunway TaihuLight은 93 PFLOPS로 최고에 올라있다(링크). 대..
이번 글에서는 R에서 병렬처리를 하는 방법에 대하여 소개하도록 한다.R-bloggers의 글, How-to go parallel in R - basics + tips의 내용을 최대한 참고하여 정리해 보았다. [목차]1. lapply에 대하여2. parallel 패키지3. foreach 패키지4. 디버깅5. 캐싱(Caching)6. 계산 부하 밸런싱7. 이미지 프로세싱 예제 1. lapply에 대하여R이 기본적으로 제공하는 함수들 중 가장 많이 사용되는 함수가 lapply일 것이다.이와 유사한 함수로 apply, sapply, tapply 등이 있는데 각자의 쓰임새가 있으며, 자신이 R유저라고 자신한다면 이 함수들이 어느 상황에 적절히 쓰이는지 이해하고 자유자재로 다룰 수 있어야 한다고 생각한다. 다음 코..
CUDA 프로그래밍을 하다보면 2차원 또는 3차원의 Grid, Block 메모리 구조를 1차원의 배열 인덱스로 변환해야 할 경우가 있다.예를 들어 다음과 같이 block과 thread 메모리 공간을 할당할 수 있다. dim3 blocks( GridDimX, GridDimY ); dim3 threads( BlockDimX, BlockDimY ); blocks는 Grid 내의 block 메모리 공간의 차원을 정의하며, threads는 Block 내의 thread 메모리 공간의 차원을 정의한다.두 개 모두 기본적으로는 3차원의 구조를 가지고 있으며, Z에 대한 차원이 정의되지 않은 경우 Z의 차원은 1로 정의된다.즉, GrdiDimZ = 1, BlockDimZ = 1이다. 다음과 같이 kernel 함수를 정의..
이번 포스팅에서는 OpenCV의 CUDA 라이브러리 함수를 이용하여 Canny Edge Detector에 대한 연산 성능을 비교해 보도록 하겠습니다. 연산에 사용할 이미지는 Pixar Animation의 Up의 포스터입니다. 1. CPU[Example Code] 12345678910111213141516171819202122232425#include #include "opencv2/opencv.hpp" using namespace cv; int main( int argc, _TCHAR* argv[] ){ const int64 start = getTickCount(); cv::Mat src = cv::imread( "up.jpg", 0 ); if( !src.data ) exit( 1 ); cv::Mat d..
OpenCV의 cuda::DeviceInfo() 함수를 이용하여 각자의 CUDA Device의 정보를 출력하는 소스는 다음과 같습니다:Example Code12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914..