목록전체 글 (279)
ecsimsw
scope resolution operator stackoverflow_ C++ : what is :: for? namespace - 복수개의 header를 사용할 때, header 안 멤버가 중복될 경우를 방지하기 위해 공간을 마련. 같은 이름의 함수 print가 A.h / B.h에서 정의된다고 가정할 때 아래와 같은 방식으로 혼란을 피한다. sol1) Scope resolution operator int main(void){ A::print(); B::print(); } sol2) namespace using namespace A; int main(void){ print(); B::print(); }
ctags / cscope - 리눅스에서 길고 복잡한 코드를 다룰때 유용한 유틸리티 두가지. ctags - 소스 코드의 태그(변수, 함수, 매크로 등의 선언 부분)들의 데이터 베이스 파일을 생성해 인덱스를 만들어 주어, 코드 분석 시 탐색할 수 있도록 하는 유틸리티이다. sudo apt-get install ctags - tags 파일을 생성하여 소스 코드의 태그를 데이터 베이스로 관리할 수 있다. ctags "Filename" ctags -R - 위 두 명령어처럼 ctags 다음에 파일 이름을 명시하는 것으로 해당 파일만 tags 파일을 만들거나, 아래 ctags -R처럼 현재 디렉토리의 모든 파일/ 하위 디렉토리의 모든 파일을 대상으로 tags 파일을 만들 수 있다. - vi 에디터에 tags 파일 ..
Using GPU - tensorflow는 CPU와 GPU를 사용하여 연산을 처리할 수 있다고 공부하였다. 이번에는 tensorflow에서 연산 장치를 결정하는 방법을 공부했다. - tensorflow_ using gpu / 텐서플로우 블로그 - 6. 병렬 처리를 참고하였다. Supported device - tensorflow는 device type을 다음처럼 string으로 표시한다. "/cpu:0": The CPU of your machine. "/device:GPU:0": The GPU of your machine, if you have one. "/device:GPU:1": The second GPU of your machine, etc. - 현재 사용중인 디바이스를 확인하고자 할때는 log_d..
Architecture - tensorflow architecture를 tensorflow docs _ architecture와 [생각의 웹] 텐서플로우 소스 구조 분석 (TensorFlow Internal)를 참고하여 공부하였다. Overview Client : Defines dataflow graph / Initiates session C API : Separates user level code in different languages from core runtime Distributed Master : Prunes graph / Distributes them to worker services Worker Services : Schedule to appropriate to the available h..
Placeholder / Variable - 텐서플로우를 공부하면서 Placeholder / Variable를 좀 더 명확하게 하고 싶어 공부하였다. placeholder - placeholder는 다른 텐서를 할당하기 위해 사용되는 변수 타입이다. 한마디로 함수에서 파라미터 같은 친구이다. 잘 와닿지 않을 수 도 있는데, 나한테는 가장 쉬운 예시였다. 예를들어, 어떤 값에 3을 더한 값을 리턴하는 함수를 만든다고 생각해보자 위 그림에서 빨간색으로 표신되어 입력을 받는, 즉 파라미터의 역할을 하는 노드가 바로 placeholder가 하는 역할이다. 나머지 설계와 학습에 입력될 데이터를 placeholder로 구분하므로써 입력에 대한 출력을 확인하거나 코드 자체에서 입력 데이터를 명확하게 할 수 있다는 장..
Multi-variable / matrix Multi-variable - 텐서플로우에서 여러개의 변수를 사용하는 것도 기존의 1개의 변수를 사용하여 학습한 것과 똑같다. hypothesis식 H(a)= Wa+u에서 변수의 개수만 늘려 다음처럼 표시하면 되는 것이다. cost 역시 위에서 구한 H(a,b,c)-y 제곱의 평균이므로 이전과 다를게 없이 구할 수 있다. "변수가 3개인 학습" x1_data = [73.,93.,89.,96.,73.] x2_data = [80.,88.,91.,98.,66.] x3_data = [75.,93.,90.,100.,70.] y_data = [152.,185.,180.,196.,142.] x1 = tf.placeholder(tf.float32) x2 = tf.placeho..
Linear Regression / Cost - 지도 학습에서 많이 사용되고 있는 알고리즘, 선형 회귀 방식을 공부하였다. 홍콩 과기대의 김성훈 교수님의 유튜브 강의로 공부하였다. [Sung kim] Lec 00 - Machine/Deep learning 수업의 개요와 일정 Linear Regression - Linear Regression(선형 회귀) 방식은 지도 학습에서 기본이 되는 알고리즘으로 주어진 인풋 데이터를 표현할 수 있는 가장 합리적인 직선을 찾는 것이 그 알고리즘의 원리가 된다. 위 그림에서 입력된 데이터를 표현할 수 있는 가장 합리적인 그래프는 어떤 것일까. 당연히 빨간색이고 그걸 비교할 수 있도록 손실도를 계산하도록 하는 방법이 Cost function이다. Cost function ..
Data flow graph - tensorflow의 의미와 Data flow graph에 관련된 기본적인 용어를 공부하였다. 홍콩 과기대의 김성훈 교수님의 유튜브 강의로 공부하였다. [Sung kim] Lec 00 - Machine/Deep learning 수업의 개요와 일정 Data flow graph - 데이터 플로우 그래프는 계산이나 데이터의 흐름을 node / edge를 사용하여 표현하는 그래프이다. node : operation으로 계산을 수행하고 결과로 텐서를 반환 edge : Tensor로 다차원 데이터 배열 session : 실행시간의 제어와 상태를 캡슐화한다. example 예제) a, b, c에 각각 1, 2 상수와 a,b를 더한 값을 대입하고 sess 객체를 생성하고 run 메소드를..