일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- keras
- FLASK
- RapidCheck
- Object Detection
- 가상환경
- Linux
- 안드로이드
- Deep Learning
- 지능형
- detection
- Video
- 영상분석
- sw
- 머신러닝
- 고급C
- tracking
- IMAGE
- Raspberry
- 서버
- 라즈베리파이
- C언어
- Machine Learning
- Android
- 데이터
- php
- 정리
- Python
- tensorflow
- MySQL
- 디버그모드
- Today
- Total
건프의 소소한 개발이야기
[Python - Tensorflow] Tensorflow 시작하기(1) 본문
안녕하세요, 건프입니다.
이번엔 Python 기반의 Machine Learning 언어 및 플랫폼인 "Tensorflow" 를 사용해봅니다.
우선 상수 tensor a와 b를 생성합니다
이후, a 와 b를 더하는 tensor 인 c 를 생성합니다.
그리고 Session 을 열고 c를 run 합니다.
그 결과를 print 하면 다음과 같은 결과가 나타납니다.
a는 벡터이고
b는 행렬인데, 더하기 연산을 진행하니, 각각의 row 에 더해지는 연산을 하는 것을 알 수 있습니다.
만약 Session 을 열고 run 하지 않고
그대로 c를 프린트 한다면
import tensorflow as tf
import numpy as np
a = tf.constant([1,2,3])
b = tf.constant([[10, 20, 30], [100, 200, 300]])
c = tf.add(a,b)
#with tf.Session() as sess: 주석입니다
print c
얘는 Tensor 인데, 위와 같은 Attribute 를 가지고 있다는 것만 알려주네요.
zero 매트릭스를 만드는 방법과 (one line 만 명시하면 결과로 보는 것과 같이 벡터로 만들어 집니다.)
크기에 따른 랜덤 매트릭스를 만드는 방법이다.
첫번째 인자 : 만들 매트릭스 크기 지정
두번째 인자 : 범위 시작 값
세번째 인자 : 범위 끝 값
자 그렇다면 행렬간 곱하기를 진행해봅니다.
1행 2열 짜리 Matrix 와 2행 1열 짜리 Matrix 를 만들어서 곱한 결과를 출력하려고 합니다.
위와 같이 뽑았을때 결과는 다음과 같습니다.
마지막에 일반 상수를 뽑아본 이유는
Matrix * Matrix 가 [[19]] 이런식으로 출력이 되는데, 이것이 스칼라인지 벡터인지 메트릭스 인지 확인하고 싶었기 때문입니다.
일반적으로 스칼라가 되어야 생각을 하는데,
직접 뽑아보니까 스칼라가 아니라 1 by 1 벡터가 나오네요.
그럼 tensorflow 에서 변수를 선언해 보겠습니다.
이것으로 tensor 의 존재감과 구조를 명백하게 확인할 수 있습니다.
tensor 는 만들기만 해서는 적용되지 않습니다.
Session 으로 실제로 실행시켜주어야 그 의미를 같습니다.
다음 포스팅에서 이어서 진행할께요~
도움이 되었길 바랍니다.
고맙습니다 :)
' 개발 이야기 > Machine Learning 이야기' 카테고리의 다른 글
[Jupyter - Notebook] ipynb 파일을 python 파일로 변환하기 (4) | 2016.07.27 |
---|---|
[Python - Tensorflow] Tensorflow 시작하기 (2) (2) | 2016.06.06 |
[ML - Matlab/Octave] Logistic Regression (5) | 2016.04.27 |
[ML - Matlab/Octave] Linear Regression with Multiple Variables (1) | 2016.04.23 |
[ML - Matlab/Octave] Linear Regression with Single Variable (0) | 2016.04.17 |