Lec 00 - Machine/Deep learning 수업의 개요와 일정
ML lec 01 - 기본적인 Machine Learning 의 용어와 개념 설명
프로그램인데 이것을 개발자가 일일히 어떻게 하는지를 정하지 않고 이 프로그램 자체가 데이터를 보고 학습해서 뭔가를 배우는 영역을 갖는 프로그램을 머신러닝이라 한다.
출처 : https://cs231n.github.io/classification/
어떤 하나의 정해져있는 데이터로 학습을 한다 - 수퍼바이저드 러닝
데이터를 보고 스스로 학습한다 - 언수퍼바이저드 러닝
Predicting final exam score based on time spent
Pass/non-pass based on time spent
Letter grade (A, B, C, E and F) based on time spent
ML lab 01 - TensorFlow의 설치 및 기본적인 operations (new)
2022년이 되면서 텐서플로우2 설치시 파이썬 지원 버전이 아래 그림처럼 바뀌었다 참고바람!
텐서 플로우 파이썬 내부에서 설치하기
1. pip 최신 업그레이드
python -m pip install --upgrade pip
2. 텐서플로우 설치
pip install tensorflow
텐서플로우 import시 발생한 오류
>>> import tensorflow.compat.v1 as tf 2022-07-26 11:21:12.314794: \ tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2022-07-26 11:21:12.314975: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
간략하게 얘기해서 CUDA 버전이 안맞아서 생긴 오류이다 맞는버전을 검색해서 다운로드 후 재 실행하면 됌
해당 그림은 17년도에 올라온거라 현재 2022년도 기준 텐서플로우는 2.0버전 이상으로 올라가면서 더이상 Session 모듈을 지원하지 않게 되었다. 대신 아래와 같은 코드를 작성하면 Session 사용이 가능하다.
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
# Create a constant op
# This op is added as a node to the default graph
hello = tf.constant("Hello, TEnsorFlow!")
# seart a TF session
sess = tf.Session()
# run the op and det result
print(sess run(hello))
b'Hello, TensorFlow!'
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0) # also tf.float32 implicitly
node3 = tf.add(node1, node2) # node3 = node1 + node2
print("node1:", node1, "node2:", node2)
print("node3: ", node3)
node1: Tensor("Const_1:0", shape=(), dtype=float32) node2: Tensor("const_2:0", shape=(), dtype=float32)
node3: Tensor("Add:0", shpe=(), dtype=float32)
바로 출력하면 결과값이 나오는게 아니라 형태가 나오게 된다.
sess = tf.Session()
print("sess.run(node1, node2): ", sess.run([node1, node2]))
print("sess.run(node3): ", sess.run(node3))
sess.run(node1, node2): [3.0, 4.0]
sess.run(node3) : 7.0
결과값을 출력할려면 세션을 실행시킨 후 run을 이용해서 결과값을 출력한다.
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b # + provides a shortcut for tf.add(a, b)
print(sess.run(adder_node, feed_dict={a: 3, b: 4.5}))
print(sess.run(adder_node, feed_dict={a: [1, 3], b: [2, 4]}))
7.5
[ 3. 7.]
Tensor은 기본적으로 [1. , 2. , 3.] 같은 Array이다.
1차원 Array , 2차원 Array .... 등등 n차원 Array다
Shape는 기본적으로 [] 사용한다
data type은 텐서에서 대부분의 경우에는 float32나 int32을 많이 사용한다