지금 LSTM 연습중인데

아래와 같음.


일단 예측조건

sin 1/x 함수 예측

hidden 100, 과거값 길이 7, 입력1, 출력1. 학습률 0.01, mse, adagrad

반복 100회 정도 ( 1회 2회 100회 이런식으로 학습되는거 비교해가며 변경해봄)


1. 텐서플로 1.x : 속도는 빠른데 학습이 느림.

2. 케라스 : 속도는 느린데 학습은 많이 됨.(즉, 뭔가 내부적으로 많이 돌리는 느낌. 근데 속도가 10배는 느림.)

3. 텐서플로 2.0 케라스 : 속도도 느린데 학습도 느림. ㅋㅋㅋㅋㅋㅋㅋ



2.0 새로 나왔다니 tf.keras로 갈아타보려고

열심히 검색하며 구현했더니 속도는 케라스랑 똑같이 느리고 학습속도는 텐서플로 1.x랑 똑같음 시발 ㅋㅋㅋㅋㅋㅋ

게다가 100번만 돌리면 1,2번은 얼추 거의 일치급으로 학습되는데, 3번은 100번이나 돌려도 어버버 타고 있네.

지금 200번,300번 돌려보려는 중인데 너무 느려서 기다려야됨 시발 ㅋㅋㅋ



코드 간결하게, 속도 빠르게 하려고 개선에 애쓰는데

왜 갈수록 더 개악이 되지 ㅋㅋㅋㅋㅋㅋㅋㅋ


LSTM만 이상한건가. ㅠㅠ

그래도 이건 GPU 켜주니 약간은 나아지더라.

오리지널 케라스는 GPU 켜고 CuDNNLSTM 따로 써줘야 먹히는데

텐서플로 케라스는 그냥 LSTM만 써도 알아서 적용된다는거 딱 그거 하나 장점임.