목록개발 및 공부/라이브러리&프레임워크 (52)
NeuroWhAI의 잡블로그
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 드디어 마지막 챕터네요. 이건 이해하느라 좀 힘들었습니다 ㅠㅠ 심지어 코드도 길어서 타이핑하느라 손가락 부러지는 줄. agent.py: model과 game을 import해서 최종 로직을 작성합니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114..
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 이론적인 설명은 저도 여기서 공부하면 될것 같고 그냥 책에 나온대로 따라만 해봤습니다. 이번엔 이미 만들어진 모델을 사용하는거라서 아래의 단계로 진행되었습니다. 학습할 꽃 데이터 다운로드 Inception 모델을 학습시키는 스크립트 다운로드 꽃 데이터로 모델 학습 학습된 모델을 불러와서 사용 이 글에는 4번 단계만 적었습니다. 모델을 불러와서 사용하는 코드: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#-*- coding: utf-8 -*- import sysimport tensorflo..
이전글에서 DCGAN을 만들면서 tf.layers.batch_normalization을 사용하게 됬는데 training 옵션이 False일땐 잘 되면서 True일땐 학습하지 않은 결과만 못한 출력을 내더라고요. 이것저것 검색하다가 결국 공식 문서에 해답이 있다는걸 알았습니다. training시에 moving_mean과 moving_variance는 수동으로 업데이트 해줘야한다고 합니다. 기본적으로 갱신연산(update op)들은 UPDATE_OPS 키에 속하고 이걸 학습연산(train op)의 종속성에 추가해주면 된다고 합니다. 그 방법이 위 사진의 코드에 해당합니다. (신경망 구현 코드를 다 작성한 뒤) update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)..
저번에 했다가 실패했다고 말씀드렸었는데 이번에 어느정도 성공했습니다! (이전 글) 코드: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132#-*- coding: utf-8 -*- import tensorflow as tfimport numpy a..
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 코드: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109#-*- coding: utf-8 -*- import sysimport tensorflow as tfimport numpy as np char_arr = [c for c in 'SEPabcdefghijklmnopqrstu..
이해하기 더럽게 힘드네요. tf.layers.dense는 densely-connected layer, 즉 아래 사진처럼 흔히 보이는 '완전연결계층'을 만들어줍니다. 출처 : https://www.slideshare.net/ssuser77ee21/convolutional-neural-network-in-practice 텐서플로 책을 보면서 이정도만 알아도 문제가 없었는데 Seq2Seq 예제에서 3차원 input을 dense에 넘기는 코드를 보고 어떻게 이게 가능한지 이해가 안됬습니다. 이전엔 (batch, input size)차원의 입력만 사용해서 내부 가중치 행렬인 kernel은 (input size, output size)차원이겠고 matmul로 행렬곱 연산하는거겠지 했는데 아닌거였습니다. Seq2Se..
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 아주 간단한 예시입니다. 4글자로 된 단어가 있을때 앞의 3글자만 보고 마지막 글자를 예측하는 신경망을 설계합니다. 예) 'wor' -> 'd' 코드: 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 ..
책에서 RNN이 나왔습니다. RNN은 시계열 데이터에 적합하다고 하니까 사실 MNIST에는 맞지 않는게 아닌가 싶습니다. 대신 한 이미지를 여러줄로 나눠 윗줄부터 하나씩 입력한다는 형식으로 RNN과 호환성?을 맞췄습니다. 코드: 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 #-*- coding: utf-8 -*- import tensorflow as tfimport numpy as np from tenso..
역시 초짜가 건들기엔 너무 무리한것 같습니다 ㅠㅠ 생성기 학습이 잘 안되네요... 판별기에 FC를 넣어서 그런가 아니면 속도좀 올린다고 conv 계층을 두개나 줄여서 그런건지. 코드: 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101..
※ 이 글은 '골빈해커의 3분 딥러닝 텐서플로맛'이라는 책을 보고 실습한걸 기록한 글입니다. 넵 이전 예제에 이어서 또 GAN 입니다. 미리 스포(?) 해드리자면 이번 예제는 제가 이해를 덜했습니다... ㅠ 코드: 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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96..