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
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
댓글
댓글 쓰기