딥러닝/tensorflow
-
[tensorflow] dacon 운동 동작 분류 AI 경진대회딥러닝/tensorflow 2021. 4. 2. 15:54
dacon에서 주최한 월간 데이콘 11 인 운동 동작 분류 AI 경진대회에 참가하였다. (dacon.io/competitions/official/235689/overview/description/) 결과적으로 public 22등 / private 27 등으로 아쉽지만 동메달을 땄다. 한동안 미루던 코드를 정리해서 올리려고 한다. 일단 사용한 환경은 jupyterlab이고 실험 관리는 neptune.ai 를 사용하였다. neptune.ai 가 매우 편하니 읽어보시는 분은 neptune.ai 사용해보시는 걸 추천 (mlflow도 있지만 이건 직접 설치, 관리해야하기 때문에 대회에서는 약간 비추) 코드 아래 코드들은 모두 하나의 .py 안에 들어있으니 필요하다면 각 블럭을 모두 복붙해서 하나의 파일에 순서대로..
-
[기초 3] data 가공딥러닝/tensorflow 2020. 6. 22. 23:31
근 2달 만에 블로그에 글을 쓸 여유가 생겼다. 기존에는 data 가공 부분에 generator를 서술하려고 했지만 tensorflow 2의 dataset과 비교해본 결과, 이 것이 좀 더 자원을 효율적으로 쓰는 이유로 dataset를 뼈대로 삼아 서술하려 한다. 튜토리얼은 tensorflow 사이트에 공식 문서화되어 있어서 이 것만 따라해도 쉽게 할 수 있다. www.tensorflow.org/guide/data_performance?hl=ko tf.data API로 성능 향상하기 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 w..
-
[기초 2] tensorflow 2 keras 모델 인스턴스 화딥러닝/tensorflow 2020. 5. 2. 16:59
이전에 Sequential model과 custom model로 구성하는 방법을 작성하였으니 이제 모델을 똻!하고 찍어내서 사용할 인스턴스 화를 작성한다. 이전에 작성한 모델의 정의는 생략하고 작성한다 from tensorflow.keras.optimizers import Adam from tensorflow.keras.losses import BinaryCrossentropy def makeModel(): ''' ~~~ 모델 정의 ~~~ ''' return model if __name__ == "__main__": my_model = makeModel() my_model.complile(loss='binary_crossentropy', optimizer='adam') # or _optimizer = A..
-
[기초 1] tensorflow 2 keras 모델 정의딥러닝/tensorflow 2020. 4. 22. 23:53
keras 모델 정의는 2가지로 나뉘어져 있다. 첫 번째는 Sequential model 두 번째는 tensorflow.keras.Model 을 상속받은 custom model 그럼 Dense Layer 로만 구성된 모델로 예제를 구성하겠다. 1. Sequential model import tensorflow as tf from tensorflow.keras import layers # make sequential model instance def makeModel(): sequential_model = tf.keras.Sequential() # hidden layer sequential_model.add(layers.Dense(64, activation='relu')) sequential_model.a..
-
[기초 0] tensorflow 2 keras 기초딥러닝/tensorflow 2020. 4. 22. 23:22
생각보다 많은 사람들이 딥러닝과 컴퓨터 사이언스 사이에서 허우적거리는 사람들이 많은 것으로 보여서 하나씩 정리하면서 쓰려고 한다. 일단 기초적으로 많은 범위를 차지하는 건 모델 코드의 구조라고 생각한다. 그래서 눈에 익을 정도로 비슷한 코드들을 나열해나가면서 정리를 시작하겠다. 일단 tensorflow 2의 keras 를 기준으로 설명하려는 이유는 keras.Model은 pytorch의 nn.Module로 만든 Custom Model과 유사하고 코드를 너무 깊게 안들어가도 되는 장점이 있어서이다. 딥러닝 코드를 여러 번 짜면서 느낀건 동작하는 순서는 거의 유사하다는 것이다. 1. 모델의 정의 2. 모델 인스턴스 화 3. 데이터 가공 4. train 5. test 데이터 가공은 초반 어디에 들어가든 별도의..
-
[tensorflow 2] HardNet 모델딥러닝/tensorflow 2020. 4. 22. 13:27
해당 코드는 pytorch 로 짜여진 hardnet 모델을 tensorflow 2의 Model로 그대로 넣은 코드이다. 기존 pytorch 코드는 여기 https://github.com/PingoLH/FCHarDNet/blob/master/ptsemseg/models/hardnet.py PingoLH/FCHarDNet Fully Convolutional HarDNet for Segmentation in Pytorch - PingoLH/FCHarDNet github.com 테스트 해봤을 때 속도가 pytorch로 학습하는 속도보다 훠얼씬 떨어지지만 일단은 돌아가니 올리도록 한다. (1 epoch 당 pytorch: 20~30분 / tensorflow: 9~10시간) import tensorflow as t..
-
[tensorflow 2] loss, optimizer 유동적으로 가져오기딥러닝/tensorflow 2020. 4. 22. 13:18
tensorflow 2에는 tensorflow.keras.losses.get과 tensorflow.keras.optimizers.get이라는 함수가 있다 (1 버전에서 있는지는 확인 안해봄) 간단하게 예제로 설명하면 아래와 같다 from tensorflow.keras.losses import get as loss_get from tensorflow.keras.optimizers import get as optimizer_get loss = loss_get('binary_crossentropy') optimizer = optimizer_get(class_name = 'adam', config={'learning_rate': 0.001, 'epsilon': 0.0001}) 위와 같이 tensorflow 1 ..
-
[tensorflow 2] DataLoader 사용법딥러닝/tensorflow 2020. 4. 22. 10:44
tensorflow 2 로 올라오면서 pytorch와 많은 것들이 대동소이해졌다 pytorch에서 사용하던 torch.utils.data.Dataset과 torch.utils.data.DataLoader를 tensorflow 2에서도 비슷한 코드로 구현이 가능하다 (동일하지는 않음) 방법은 tensorflow.keras.utils.Sequence를 사용한다. Sequence는 torch.utils.data.Dataset과 동일하며 tensorflow에서 torch.utils.data.DataLoader의 기능은 fit_generator, predict_generator에 내장되어 있다. (현재 fit_generator, predict_generator는 deprecated 되었다고 공식 문서에 명시되었다..