First contact with TensorFlow - 1

```python
import tensorflow as tf
```

a
b 실행 중에 값을 변경할 있는 placeholder 부르는 심볼릭 변수들을 정의합니다.


```python
a = tf.placeholder("float")
b = tf.placeholder("float")
```

y
변수를 넘깁니다. tf.mul 텐서를 조작하기 위해 텐서플로우가 제공하는 많은 수학 연산 함수 중에 하나입니다. 여기서 텐서는 동적 사이즈를 갖는 다차원 데이터 배열이라고 생각하면 됩니다.


```python
y = tf.mul(a,b)
```

이제는 심볼릭 표현으로 수식을 계산하기 위해 세션을 생성해야합니다. 세션 생성 전까지는 아무것도 실행되지 않습니다. , y값을 출력해도 원하는 값이 나오지 않습니다. 책에 의하면 텐서플로우가 머신러닝 알고리즘을 표현하는 인터페이스적인 측면과 알고리즘을 실행시키는 프로그램으로서의 측면을 모두 가지고 있다는 것을 강조하고 있다고 한다.
세션 생성 , run() 메소드에 feed_dict인자로 변수의 값을 넘겨받고 실행되야 계산된 값을 얻을 있습니다.


```python
sess = tf.Session()
print(sess.run(y,feed_dict={a:3,b:4}))
```

    12.0


코드를 통해서 주목해야할 점은 연산과 데이터에 대한 모든 정보는 그래프 구조안에 저장된다는 입니다.
그래프 구조는 수학 계산을 표현합니다. 노드는 수학 연산를 나타내고 데이터 입력과 출력의 위치를 나타내거나 저장된 변수를 읽거나 씁니다. 엣지는 입력 값과 출력 값으로 연결된 노드 사이의 관계를 표현하고 그와 동시에 텐서플로우의 기본 데이터 구조인 텐서를 운반합니다.


함수        설명
tf.add     
덧셈
tf.sub     
뺄셈
tf.mul     
곱셈
tf.div     
나눗셈의
tf.mod     
나눗셈의 나머지
tf.abs     
절대값을 리턴합니다.
tf.neg     
음수를 리턴합니다.
tf.sign    
부호를 리턴합니다.(역주: 음수는 -1, 양수는 1, 0 일땐 0 리턴합니다)
tf.inv     
역수를 리턴합니다.(역주: 3 역수는 1/3 입니다)
tf.square  
제곱을 계산합니다.
tf.round   
반올림 값을 리턴합니다.
tf.sqrt    
제곱근을 계산합니다.
tf.pow     
거듭제곱 값을 계산합니다.
tf.exp     
지수 값을 계산합니다.
tf.log     
로그 값을 계산합니다.
tf.maximum
최대값을 리턴합니다.
tf.minimum
최소값을 리턴합니다.
tf.cos     
코사인 함수 값을 계산합니다.
tf.sin     
사인 함수 값을 계산합니다.

텐서플로우는 행렬 연산을 위해서도 여러가지 함수를 제공합니다. 아래 몇가지를 적었습니다.(역주: 텐서플로우에는 이외에도 많은 행렬 함수를 제공하고 있습니다. 상세한 내용은 API 문서를 참고해 주세요.)

함수           설명
tf.diag    
대각행렬을 리턴합니다.
tf.transpose     
전치행렬을 리턴합니다.
tf.matmul  
텐서를 행렬곱셈하여 결과 텐서를 리턴합니다.
tf.matrix_determinant  
정방행렬의 행렬식 값을 리턴합니다.
tf.matrix_inverse      
정방행렬의 역행렬을 리턴합니다.

 

Reference : TensorFlowKorea

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리