tf.Data(5)
-
tf.py_func 사용해보기
광고 한 번씩 눌러주세요! 블로그 운영에 큰 힘이 됩니다 :) tensorflow graph 내에 파이썬 연산을 해줄 수 있는 tf.py_func 만약 데이터가 크다면, 전체를 읽지 못하고 배치성으로 데이터를 읽어서 해야하는데, 그럴 때 그래프내에서 할 수 있기 때문에 괜찮다고 생각함. (사실 텐서플로우 그래프 밖에서 해도 될 것 같긴 함.) Tensorflow에 python_func 사용해보기 import tensorflow as tf import numpy as np from sklearn.preprocessing import MinMaxScaler X = tf.placeholder(tf.float32 , (None , 3), name ="X") def numpy_use(x) : result = x-..
2020.04.17 -
tf.data 삽질해보기 (two iterator, feed_dict, GAN)
텐서플로우를 사용하면서 기존에는 feed_dict 방식을 사용했는데, tf.data를 사용 시 여러 가지 장점이 있는 것 같아서 만들 때마다 사용하는 것 같다. 실제로 모델링까지 해본 것은 다른 글에 있으니 눌러서 확인해보시면 될 것 같다(https://data-newbie.tistory.com/441) 필자는 GAN을 할 때 시도를 해봤는데, 먼가 코드에서 꼬이는 현상이 발생했다. 지금도 완벽히 해결하지 못했지만, 여러 가지 삽질을 해보면서 얻은 것을 공유해보고자 한다. 1. tf.data 2개의 iterator 생성해보기 일단 GAN을 학습 시 보통 다음과 같이 한다. for _ in range(10) : #### while True : sess.run([dloss, doptimizer]) sess...
2020.04.08 -
tf.data로 데이터 파이프라인 만들고 추론하는 것 까지 해보기
광고 한번만 눌러주세요 ㅎㅎ 블로그 운영에 큰 힘이 됩니다. 예전에 tf.data로 인풋 파이프라인을 만들고, 모델을 만든 뒤, 모델을 저장해서 사용해봤는데, 추론 결과가 계속 동일한 이상한 현상이 발견했다. 그래서 오랜만에 tf.data도 다시 공부하고 모델 학습 후 저장한 것을 다른 스크립트에서 돌릴 때 어떻게 했는지에 대해서 공유한다. 일단은 정확한 답은 아닐 수 있지만, 충분히 사용할만할 것 같다고 생각한다. 일단 중요한 것은 데이터 처리 이후니까 전처리 단계는 가볍게 패스 개인적으로 initializer를 사용하는 것을 선호한다. tf.data에서는 batch_size를 정해줘야하는데, 이 부분을 빈 홀더로 남겨놓고, 전체 추론할 때는 바꾸면서 사용할 수 있게 했다. import tensorfl..
2020.03.22 -
Tensorflow에서 tf.data 사용하는 방법
tf.data에 데이터를 넣는 방법는 방법은 4가지 정도 있는 것 같다. Data Loading 1. numpy에서 불러오기 # create a random vector of shape (100,2) x = np.random.sample((100,2)) # make a dataset from a numpy array dataset = tf.data.Dataset.from_tensor_slices(x) ## features, labels = (np.random.sample((100,2)), np.random.sample((100,1))) dataset = tf.data.Dataset.from_tensor_slices((features,labels)) 2. tensor에서 불러오기 dataset = tf.d..
2020.03.22 -
tf.Data를 활용하여 csv 파일부터 읽어서 텐서플로우 모델링하기
보통 데이터가 클 경우에 읽는 것도 버거울 경우가 있다. 아마 내가 여기서 기대하는 것은 읽을 때도 batch 단위로 읽어서 메모리를 다 안 쓰는? 실제로 그렇게 돌아가는지는 모르겠다. 암튼 csv 에서 자체적으로 feature를 쪼개서 학습을 시킬 때 어떻게 해야 하나 고민하다가 방법을 찾아서 공유한다. 물론 그리고 바로 모델링도 쉽게 하는 방법까지 해보겠다. 아직 해결해야할 점은 Pipeline에서 전처리도 안에서 어떻게 해야 할지다! 여기서 의문인 점은 batch 단위로 전처리를 하게 되는지 그런 것들이 좀 궁금하다. 큰 데이터에서 어떻게 전처리를 해야 효과적으로 할 수 있는지.... 아무튼 여기선 csv -> 바로 feature와 target으로 나눠서 모델링하는 것으로! import tensor..
2019.06.16