코딩로그
*tip* TensorFlow로 파일에서 데이터 읽어오기 본문
- 수 많은 데이터를 모두 코드에 적기는 매우 어려운 일이다. 따라서 이번에는 tensorflow로 파일에서 데이터를 읽어오는 방법에 대해 알아보겠다.
- xy = np.loadtxt('file', delimiter = ' ', dtype = np.~)로 파일을 읽어오고, 넘파이의 슬라이싱을 활용해 x_data와 y_data를 지정해주는 것만 다르고, 나머지는 이전과 같다.
- numpy 슬라이싱에 대한 자세한 내용은 본 링크를 참조 https://jumpjump3030.tistory.com/2
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import matplotlib.pyplot as plt
import numpy as np
xy = np.loadtxt('data-01-test-score.csv',delimiter = ',', dtype=np.float32)
x_data = xy[:,0:-1]
y_data = xy[:,[-1]]
# check
print(x_data.shape, x_data, len(x_data))
print(y_data.shape, y_data)
# initialize X,Y,w,b
X = tf.placeholder(tf.float32, shape=[None, 3])
Y = tf.placeholder(tf.float32, shape=[None, 1])
w = tf.Variable(tf.random_normal([3,1]),name = 'weight')
b = tf.Variable(tf.random_normal([1]),name = 'bias')
# Hypothesis
hypothesis = tf.matmul(X,w)+b
# cost/Loss function
cost = tf.reduce_mean(tf.square(hypothesis-Y))
# minimize
optimizer = tf.train.GradientDescentOptimizer(learning_rate=1e-5)
train = optimizer.minimize(cost)
sess = tf.Session()
# initializes golbal variables in the graph
sess.run(tf.global_variables_initializer())
for step in range(2001):
cost_val, hy_val, _ = sess.run(
[cost, hypothesis, train],
feed_dict={X:x_data,Y:y_data})
if step%10 == 0:
print(step, "Cost: ",cost_val,
"\nPrediction:\n",hy_val)
print("Your score will be ", sess.run(hypothesis,
feed_dict={X:[[100,70,101]]}))
print("Other scores will be ", sess.run(hypothesis,
feed_dict={X:[[60,70,110],[90,100,80]]}))
|
cs |
'코딩로그 > 모두를 위한 딥러닝' 카테고리의 다른 글
6. softmax regression (0) | 2020.01.11 |
---|---|
5. logistic classification (0) | 2020.01.10 |
4. multi-variable linear regression을 TensorFlow에서 구현하기 (0) | 2020.01.04 |
3. linear regression의 cost 최소화 알고리즘의 원리 (0) | 2020.01.04 |
Lab 02 – TensorFlow로 간단한 linear regression을 구현 (0) | 2020.01.04 |