모두를 위한 딥러닝 - 기본적인 머신러닝과 딥러닝 강좌

모두를 위한 딥러닝 - 기본적인 머신러닝과 딥러닝 강좌

(71개의 수강평)

13865명의 수강생

무료

Sung Kim
평생
초급
50개 수업, 총 10시간 51분
조환희 프로필

안녕하세요. 수업 너무 재미있게 보고 있던도중 오류가 생겼습니다 ㅠㅠ 조환희 19일 전

마지막 shufflebatch 전에 나오는 코드 실행을 해 봤는데요. 자꾸 오류가 생깁니다. 코드를 몇번이고 다시 확인해보고, 마지막으로는 선생님 깃터브에 들어가서 코드 복사해서 실행 해봤는데도 똑같은 오류가 뜨네요.

깃터브: 

https://github.com/hunkim/DeepLearningZeroToAll/blob/master/lab-04-4-tf_reader_linear_regression.py

여기 봤구요

오류는 다음과 같이 뜹니다.

OutOfRangeError (see above for traceback): FIFOQueue '_42_batch_4/fifo_queue' is closed and has insufficient elements (requested 10, current size 0) [[node batch_4 (defined at <ipython-input-7-a25822b3b767>:17) ]]

0
Joonho Park (Moderation) 프로필

validation set을 굳이 만들어야 되나요? Joonho Park (Moderation) 1달 전

주어진 data에서 test set을 따로 두고나서, 굳이 validation set을 따로 두어 learning 하면서 hyperparameter를 tunning 하는 것이 더 나은 모델을 만드는데 도움이 될까요? 어차피 validation set이 없어도 hyperparameter tunning하면서 test set으로 모델 성능 test 하는 상황인데요.

0
jin Seong 프로필

Epoch을 여러번 돌리면.. jin Seong 2달 전

Training set이 10000개라고 할 때, 이 데이터를 모두 1번씩 모델에 학습 시키는 것이 1 epoch이라고 하셨는데, 이렇게 1번 epoch을 학습시킨 후에도, 여러번 epoch을 학습시키게 되면 어떤 의미가 있는 지 알 수 있을까요? 얼핏 보기엔 같은 데이터로만 반복 학습 시킨 것 같아보여서 큰 의미가 없을 것 같지만, 실제로는 weight를 업데이트 시키면서(학습과정) cost를 줄여나가는게 보여서요.

늦었는데도, 답변 해주시면 감사하겠습니다...

0
김지우 프로필

numpy로 loadtxt 할 때 이런 오류가 뜨는데 도대체 뭔가요 ㅠㅠ? 김지우 3달 전

<class 'tuple'>: (<class 'ValueError'>, ValueError('could not convert string to float: \'"-0.0588235\''), None)

본래 오류는

Traceback (most recent call last):

File "/Users/gimjiu/PycharmProjects/tensorflow/logistic_classification-2.py", line 4, in

xy = np.loadtxt('data-03-diabetes.csv', delimiter=',', dtype=np.float32, skiprows=2)

File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1134, in loadtxt

for x in read_data(_loadtxt_chunksize):

File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1061, in read_data

items = [conv(val) for (conv, val) in zip(converters, vals)]

File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1061, in

items = [conv(val) for (conv, val) in zip(converters, vals)]

File "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/npyio.py", line 768, in floatconv

return float(x)

ValueError: could not convert string to float: '"-0.0588235'

이런 오류여서 디버깅했더니 저렇게 나오더라구요 검색해보니까 비슷한 오류일 때 encoding을 utf-8-sig로 하면 된다 해서 바꿨는데도 똑같은 오류가 뜨네요 ㅠㅠ

0
김창겸 프로필

lab04-1 7분 30초 부분에서 hypothesis와 bias shape에 관한 질문입니다. 김창겸 6달 전

hypothesis = tf.matmul(X, W) + b에서 앞의 tf.matmul(X, W)는 [None, 1]이고 b는 [1]인 것으로 확인되는데 어떻게 연산이 이루어지는 것인지 궁금합니다!!

0
서경동 프로필

tf.train.batch 속도 질문 서경동 7달 전

np.loadtxt로 데이터를 로딩하여 사용할 때보다

tf.train.batch로 데이터를 로딩하여 사용할 때,

속도가 현저히 떨어지는 느낌을 받고 있는데, 이게 정상인가요?

너무 느려지는 느낌이라서, 질문 올려봅니다.

0
서경동 프로필

lab 04-1 multi-variable linear regression 의 cost 값 질문 서경동 7달 전

동영상의 3분 02초에 해당하는 코드로 10만번을 학습시켜도

코스트값이 800이하로 내려가지를 않는데,

동영상에서는 2000번만 학습시켜도 대략 4까지 내려가있는 결과화면이 나와있습니다.

코드는 몇번이고 확인을 했고 에러또한 없습니다.

학습을 횟수를 늘릴수록 코스트값이 내려가기는 하지만,

동영상의 2000번 학습과 저의 10만번의 학습의 차이가 너무 커서 무엇이 문제인지

질문을 올립니다.

0
주원 프로필

어렵군요. 주원 8달 전

내용자체가 쉬운게 아니다보니...

그래도 감사합니다. 열심히 보고 있어요

0
Young Kim 프로필

Minmaxscaler Young Kim 9달 전

Minmaxscaler로 normalize할 경우 결과값이 동일하게 normalize된 값이 나오는데 원래의 값으로 되돌리는 방법있나요?

0
심내 프로필

cost 값이 변화가 없다는 것은 무엇을 의미하는 건가요? 심내 10달 전

아래는 제가 만든 텐서플로우를 이용한 로지스틱스 회귀분석의 코드입니다.

'''

import tensorflow as tf

import pandas as pd

import numpy as np

xy = np.loadtxt("D:/deep1/projectdata/sixx/test.csv", delimiter=",")

df = pd.read_csv("D:/deep1/projectdata/sixx/test.csv", encoding='mbcs')

x_data = xy[:, 10:18]

y_data = xy[:, [-1]]

column_len = len(df.columns.values.tolist()) - 1 # 맨 마지막 [-1]컬럼을 제외

column_len = 8

X = tf.placeholder(tf.float32, shape=[None, column_len])

Y = tf.placeholder(tf.float32, shape=[None, 1])

W = tf.Variable(tf.random_normal([column_len, 1]), name='weight')

b = tf.Variable(tf.random_normal([1]))

hypothesis = tf.sigmoid(tf.matmul(X, W) + b)

hypothesis = tf.clip_by_value(hypothesis,1e-5,1-(1e-5)) # 상한, 하한 설정

cost = -tf.reduce_mean(Y tf.log(hypothesis) + (1 - Y) (tf.log(1 - hypothesis)))

optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)

train = optimizer.minimize(cost)

sess = tf.Session()

sess.run(tf.global_variables_initializer())

for step in range(1001):

cost_val, W_val, bval, = sess.run([cost, W, b, train], feed_dict={X:x_data, Y:y_data})

if step % 100 == 0:

print('step :', step, " , cost_val :", cost_val, ' , W :', W_val, ' , b_val :', b_val)

print('step :', step, " , cost_val :", cost_val)

predicted = tf.cast(hypothesis > 0.5, dtype=tf.float32)

accuracy = tf.reduce_mean(tf.cast(tf.equal(predicted, Y), dtype=tf.float32))

h, c, a = sess.run([hypothesis, predicted, accuracy], feed_dict={X: x_data, Y:y_data})

print('n', h, 'n',c, 'n',a)

print(a)

'''

이는 제가 사용한 코드입니다.

결과는 아래와 같이 나왔습니다.

step : 0 , cost_val : 10.370755

step : 100 , cost_val : 1.0823343

step : 200 , cost_val : 1.0823343

step : 300 , cost_val : 1.0823343

step : 400 , cost_val : 1.0823343

step : 500 , cost_val : 1.0823343

step : 600 , cost_val : 1.0823343

step : 700 , cost_val : 1.0823343

step : 800 , cost_val : 1.0823343

step : 900 , cost_val : 1.0823343

step : 1000 , cost_val : 1.0823343

이는 local minimum에 도달했기 때문에 나온 현상일까요? 아니면 뭔가 다른 문제가 있는 걸까요?

또 계속 돌리다보면 아래와 같은 결과를 얻을 때도 있습니다.

step : 0 , cost_val : 10.416572

step : 100 , cost_val : 10.415087

step : 200 , cost_val : 10.412803

step : 300 , cost_val : 10.4067335

step : 400 , cost_val : 10.376276

step : 500 , cost_val : 1.0819494

step : 600 , cost_val : 1.0819463

step : 700 , cost_val : 1.0819432

step : 800 , cost_val : 1.0819402

step : 900 , cost_val : 1.0819372

step : 1000 , cost_val : 1.0819342

랜덤하게 결정된 W, b의 값 때문에 결과가 조금씩 바뀌는 것은 이해하겠지만 cost값이 1이하로 내려가지 않는다는 점이 마음에 걸립니다.

이를 해결하기 위해서는 step 1000에서 나온 W, b값을 위의 Variable객체에 넣고 learning_rate를 작게해서 돌려보면 해결 할 수 있는 걸까요?

조언을 듣고 싶습니다.

0
GB 프로필

cost구하는 공식 reduce_sum으로 되어있는거 오타인가요? GB 9달 전

reduce_mean으로 구해왔는데 갑자기 reduce_sum으로 되어있네요

오타인가요??

1
이재욱 프로필

H(x)-y 를 제곱을 하는 이유가 궁금합니다. 이재욱 11달 전

H(x)-y 를 제곱하면 차이가 커질 수록 페널티가 커진다고 하셨을 때, H(x)-y의 절댓값을 구해도 괜찮다고 생각했습니다.

절댓값을 사용하면 음수가 나올 일이 없고 차이가 커질수록 절댓값도 커지기에 페널티도 같이 커진다고 생각합니다.

혹시 제곱을 하는 이유가 뒤의 계산에서 마치 분산과 표준편차를 구하는 방법과 비슷하게 가기 위해서인가요?

제곱하는 이유와 절댓값을 사용하지 않는 이유가 궁금해져 질문 남겨봅니다. 질문 읽어주셔서 감사합니다.

0
Jason Yu 프로필

parameter의 수와 prediction power의 상관 관계 Jason Yu 2018.05.22

강의 시작 부분에서 $$X_1, X_2, ... X_n$$ 처럼 parameter의 수가 많아질수록 prediction power가 강해진다고 설명해주셨는데요, 이 부분의 경우 X값과 Y값이 어느정도 상관 관계가 있을 경우에만 해당 되지 않을까요? 실제로 raw data를 다룰 때에도 큰 상관관계가 없는 parameters들은 EDA 과정에서 제거하거나 별도의 data transformation을 한다고 알고 있었습니다.

설명 해주신 부분은 위의 모든 과정이 모두 끝난 가정 하에 성립이 되는건가요 아니면, 일반적으로 위의 과정 없이도 prediction power가 강해지는건가요?

답변 부탁드립니다! 감사합니다 :)

0
김문주 프로필

감사합니다 김문주 2018.04.23

0
qpal1zm23 프로필

rank가 3인 tensor을 실제로 많이 사용하나요? qpal1zm23 2018.03.26

[[ [1,2,3],[4,5,6]]] 이 rank3에 shape[2,1,3]이라고 강의에 나오는데

2차원 배열을 넘어가니까 이해가 잘 안가더라구요 ㅠㅠ

왜 shape가 [2,1,3]인지 설명 해주실수 있나요??

0