TensorFlow(45)
-
tf.contrib.learn.DNNClassifer 활용한 모델링하기
일단은 Numeric 버전만 진행을 하려고 한다. 추후에 wide-deep 이든 embedding 해서 하는 것을 해보겠다. 여기서 tf.data를 적용하려고 했는데, 계속 안되서 포기하고 그냥 해보기! import numpy as np from sklearn.model_selection import train_test_split from sklearn import datasets cancer = datasets.load_breast_cancer() cancer.data.shape, cancer.target.shape ## stratifed를 제공했었다! X_train, X_test, y_train, y_test = train_test_split( cancer.data, cancer.target, tes..
2019.06.16 -
tf.Data를 활용하여 csv 파일부터 읽어서 텐서플로우 모델링하기
보통 데이터가 클 경우에 읽는 것도 버거울 경우가 있다. 아마 내가 여기서 기대하는 것은 읽을 때도 batch 단위로 읽어서 메모리를 다 안 쓰는? 실제로 그렇게 돌아가는지는 모르겠다. 암튼 csv 에서 자체적으로 feature를 쪼개서 학습을 시킬 때 어떻게 해야 하나 고민하다가 방법을 찾아서 공유한다. 물론 그리고 바로 모델링도 쉽게 하는 방법까지 해보겠다. 아직 해결해야할 점은 Pipeline에서 전처리도 안에서 어떻게 해야 할지다! 여기서 의문인 점은 batch 단위로 전처리를 하게 되는지 그런 것들이 좀 궁금하다. 큰 데이터에서 어떻게 전처리를 해야 효과적으로 할 수 있는지.... 아무튼 여기선 csv -> 바로 feature와 target으로 나눠서 모델링하는 것으로! import tensor..
2019.06.16 -
Activation (SQNL , Soft Cliping , Gaussian)
Activations 중에서 보통 Relu 계열들이 잘 되기 때문에 그 부분에 대해서 많이 발전을 한 것 같다. 하지만 나는 생성 모델에 관심을 가지고 있다 보니, Scaling을 특정 구간에 가두는 그런 함수들이 필요한데 그 예로는 tanh(-1, 1)와 sigmoid(0 , 1) 같은 함수가 있다. 하지만 이 함수들은 미분한 것을 이용하다보면 많은 한계가 있다는 것을 알 수 있다. 이런 것들을 사용하면 Gradient Update 하는 방식으로 하는 것에서 큰 문제가 생긴다. Layer를 깊게 쌓을 수록 Activation의 영향력이 점점 줄어든다는 단점이 분명히 존재한다. 이러한 것을 해결하기 위해 찾은 것들이 Square Nonlinearity (SQNL) ( -1 , 1) 과 Soft Clipi..
2019.06.09 -
[Tensorflow] Cyclical Learning Rate
먼가 지금 학습을 시키는 것이 있는데, 먼가 추가적으로 데이터를 넣으면서 시키는 중이다. 그런데 현재 구조는 learning deacy 방식으로 사용하다 보니, 점점 학습률은 떨어져서 새로운 데이터에 대해서 그만큼 새로운 최적의 값을 못찾는 기분이라서, learning rate를 어떻게 해봐야겠다고 생각을 하고 다음과 같이 수정을 해보려고 한다! 그래서 알아본게 Cyclical로 주기를 만드는 방식이다. 이러면 잘 되겠지 하고 기대를 하면서!!!!!!!!!! cyclic_learning_rate( global_step, ## Epoch 의미 learning_rate=0.01, max_lr=0.1, ## 최대 learning rate step_size=20., gamma=0.99994, ## 폭? 작게 할..
2019.06.05 -
tensorflow mask 씌우기
오늘은 결과물에서 특정 부분에 대해서 mask를 씌울 일이 있어서, 인터넷에 찾아봐도 잘 나오지 않아서 stackoverflow에 물어보니 답이 나와서 정리해서 코드를 보여주려고 한다. mask를 씌우는 이유는 머랄까 maxpooling처럼 실제로 쓰는 부분에 대해서만 Gradient를 주고 싶어서 하려고 한다. 물론 아예안하고 할 수도 있는데 왜 굳이 mask를 씌우냐고 할 수 있지만, 실제 자료가 [10000 , 10]이런 거여서 여러 가지 shape 바꿔주고 해서 [10000, 3, 4, 1]로 바꾸려고 한다. 그러다 보니 2개 정도 마스크를 씌워야 했다. G = generator(Z) ## [ None , 3, 4, 1] masking = tf.sequence_mask([4, 4, 2], maxl..
2019.05.30 -
tensorflow 폴더 생성 및 지우기
if tf.gfile.Exists(model_dir): tf.gfile.DeleteRecursively(model_dir) tf.gfile.MakeDirs(model_dir) tf.gfile.MakeDirs(model_dir + "/save_model") tf.gfile.MakeDirs(vis_dir) tf.gfile.MakeDirs(board_dir) else : tf.gfile.MakeDirs(model_dir) tf.gfile.MakeDirs(model_dir + "/save_model") tf.gfile.MakeDirs(vis_dir) tf.gfile.MakeDirs(board_dir)
2019.05.28 -
[Python] 실습 Categorical 변수를 Embedding 해보기
https://data-newbie.tistory.com/90?category=749566 NN에서 Categorical Variables에 대해서는 어떻게 해야할까? 현재 Neural Network는 주로 이미지나 비디어 같이 Unconstructed Data에 대해서 Convolution을 사용해서 feature의 Parameter 개수를 축약하면서 Wide한 구조로 만들 수 데이터에 대한 Representation을 layer에.. data-newbie.tistory.com 이번에는 실습을 해보려고 합니다. 이것의 배경에 대해서는 위에 있으니, 참고해주시면 감사하겠습니다. 일단 직관적인 설명은 Categorical를 Embedding을 통해 더 낮은 차원으로 Embedding을 해줍니다. 곧 wor..
2019.05.20 -
Colaboratory와 tensorboard와 tensorflow를 활용한 GAN 구현물
Colab도 있으니 원하시는 분은 댓글 달아주세요 GPU를 제공하는 갓 구글님께서 만들어주신 Colab으로 간단한 Original GAN 구현물입니다. 추가) 학습된 weight를 구글 드라이브에서 가져오는 것도 했습니다! 추가) GPU 설정하는 것도 넣어놨습니다. 추가) Tensorboard도 코드도 넣어놨습니다. 수정이 안되면 복사해서 사용하세요!
2019.05.18 -
tensorflow eager gpu 할당 쓴만큼만 잡게하기.
그냥 돌리게 되면 한 노트북에서 쓰지도 않는 GPU를 다 잡아버린다. 아래 코드를 돌리게 되면 TEST 한다면서 GPU를 다 잡아서 다른 Notebook에서 할당이 안된다. tf.test.is_gpu_available() 그래서 아래와 같은 방법으로 진행하면 된다. 그냥 Session으로 할 때 gpu_option = tf.GPUOptions(allow_growth=True) config = tf.ConfigProto(log_device_placement=False , allow_soft_placement=True, gpu_options=gpu_option) sess = tf.Session(config=config) Eager로 할 때 import tensorflow as tf gpu_option = t..
2019.05.04