Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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
Archives
Today
Total
관리 메뉴

코딩로그

*tip* TensorFlow로 파일에서 데이터 읽어오기 본문

코딩로그/모두를 위한 딥러닝

*tip* TensorFlow로 파일에서 데이터 읽어오기

hyeonnny 2020. 1. 10. 17:48
  • 수 많은 데이터를 모두 코드에 적기는 매우 어려운 일이다. 따라서 이번에는 tensorflow로 파일에서 데이터를 읽어오는 방법에 대해 알아보겠다.
  • xy = np.loadtxt('file', delimiter = ' ', dtype = np.~)로 파일을 읽어오고, 넘파이의 슬라이싱을 활용해 x_data와 y_data를 지정해주는 것만 다르고, 나머지는 이전과 같다.
  • numpy 슬라이싱에 대한 자세한 내용은 본 링크를 참조 https://jumpjump3030.tistory.com/2
 

Numpy 기초, 기본 정리

 

jumpjump3030.tistory.com

 

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
= tf.placeholder(tf.float32, shape=[None, 3])
= tf.placeholder(tf.float32, shape=[None, 1])
 
= tf.Variable(tf.random_normal([3,1]),name = 'weight')
= 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