tensorflow 2.0
-
[기초 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..
-
[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 되었다고 공식 문서에 명시되었다..
-
[keras] generator를 이용한 multiple input data딥러닝/tensorflow 2020. 2. 17. 14:10
tensorflow 2.0의 keras를 사용하면서 하나의 모델에 여러 개의 input data를 넣어야하는 경우가 생겼다 그러면서 이전에 classification 모델을 복붙해서 진행하려고 했지만 그 모델은 input이 한 개여서 문제가 생겼다 그리고 해당 모델에 generator까지 같이 쓰려고 하니 좀 더 복잡해져서 예제 코드를 새로 만들었다 import math from keras.models import Sequential, Model from keras.layers import Dense, concatenate, Flatten batch_size = 16 seed = 100 def buildModel(): #first model first_model = Sequential() first_mo..
-
efficientNet 개발 (3)딥러닝/tensorflow 2020. 2. 12. 10:44
class Preprocess(): def __init__(self, batch_size, img_width, img_height): self.img_width = img_width self.img_height = img_height self.batch_size = batch_size def makeGenerator(self, train_x, train_y, fit_val): train_datagen = ImageDataGenerator(rotation_range = fit_val['rotation_range'],\ horizontal_flip = fit_val['horizontal_flip'],\ vertical_flip = fit_val['vertical_flip'],\ preprocessing_fu..
-
efficientnet 개발 (2)딥러닝/tensorflow 2020. 2. 12. 10:19
요 며칠 속이 뒤집어져서 이제야 글을 쓴다 일단 이전에 efficientNet 클래스 내부에 더 들어간 코드를 먼저 올린다 def fit(self, train_x, train_y): es = EarlyStopping(monitor='val_loss', mode='auto', verbose=1, patience=12) checkpoint = ModelCheckpoint(self.weight_path, \ monitor='val_acc', \ verbose=1, \ save_best_only=True, \ save_weights_only=True, \ mode='max') self.model.fit(train_x, \ train_y, \ batch_size=self.batch_size, \ epochs=5,..
-
efficientNet딥러닝/tensorflow 2020. 2. 8. 22:25
일단 이전에 pytorch 게시판에서 작성한 hardnet 등의 segmentation 이후의 classification 에 대한 모델 중 SOTA 알고리즘으로 efficientNet 을 사용하였다 efficientNet에 관련한 설명은 아래 링크에 잘 설명되어 있다 https://norman3.github.io/papers/docs/efficient_net EfficientNet: Rethinking Model Scaling for CNN. 참고로 그림 2(a) 에서 입력 크기는 \(\) 이고, 출력 크기는 \(\) 이다. norman3.github.io 그리고 내부에 쓰인 MBConv layer는 아래 링크의 linear bottleneck을 참조 https://n1094.tistory.com/29 ..