반응형

텐서플로우 9

[Tensorflow] 파이썬 keras RNN/LSTM/GRU 구현 예제(IMDB 감성 분석)

텐서플로우 케라스 SimpleRNN, LSTM, GRU layer 쌓기 예시 파이썬의 텐서플로우 2.x 버전에서 keras 모듈을 활용하여 RNN 시리즈 모델들의 layer를 양방향, 다중층 등으로 쌓는 방법들을 다루어보도록 하겠습니다. (데이터셋은 tensorflow에서 제공하는 IMDB 감정 분류 데이터셋을 활용하였습니다.) 데이터셋 로드, 전처리 tensorflow의 데이터셋 모듈에서 제공하는 IMDB 데이터셋을 불러오고 RNN 모델 적용을 위한 간단한 전처리를 진행해보겠습니다. 해당 과정의 코드는 아래 링크의 텐서플로우 공식 사이트 글을 참조하였습니다. RNN을 사용한 텍스트 분류 | TensorFlow Core Google I/O는 끝입니다! TensorFlow 세션 확인하기 세션 보기 RNN을..

Python/Tensorflow 2022.06.17

[Tensorflow] 파이썬 keras CNN 구현 간단 예제(MNIST 이미지 분류)

텐서플로우 케라스로 CNN 모델 코드 구현하기 파이썬에서 Tensorflow 2.x 버전의 케라스 모듈을 활용하여 CNN 모델 구조를 구현하여 MNIST 이미지 분류를 진행하는 예제를 다루어보겠습니다. 데이터셋 로드 먼저, keras에서 자체적으로 제공하는 MNIST 데이터셋을 가져오고, shape를 확인해보겠습니다. import tensorflow as tf mnist = tf.keras.datasets.mnist (X_train, y_train), (X_test, y_test) = mnist.load_data() # 0 ~ 255 사이 정수 -> 0 ~ 1 사이 실수로 변환 X_train, X_test = X_train / 255.0, X_test / 255.0 print("X_train shape ..

Python/Tensorflow 2022.06.17

ModuleNotFoundError: No module named 'tf' 해결법

텐서플로우 import 오류 디버깅 tensorflow 내 keras 등 내부 라이브러리를 호출하려할 때, 아래와 같은 에러메시지가 등장하는 경우가 있습니다. import tensorflow as tf from tf.keras.layers import Dense # 텐서플로우 내부 라이브러리 호출 시도 # 오류 메시지 예시 ModuleNotFoundError Traceback (most recent call last) in () 1 import tensorflow as tf ----> 2 from tf.keras.layers import Dense ModuleNotFoundError: No module named 'tf' 오류 원인, 해결 방법 가장 첫 줄의 코드에서 tf라는 별칭으로 텐서플로우 라이브러..

Python/Debugging 2022.03.17

Transformers 라이브러리에서 학습한 모델 저장, 불러오기 방법

Transformers model save, load Hugging Face에서 제공하는 Transformers 라이브러리의 모델들을 학습 뒤 저장하는 방법과, 저장된 모델을 불러오는 방법에 대해서 살펴보겠습니다. 모델 저장 방법 : save_pretrained(디렉토리) 예를 들어, Transformers의 BertForMaskedLM, TFAutoModelWithLMHead 모델을 불러와서 (BertForMaskedLM는 파이토치 기반, TFAutoModelWithLMHead는 텐서플로우 기반) fine-tune 과정을 수행한 이후 학습된 모델을 파일로 저장하고 싶은 상황을 가정해보겠습니다. from transformers import BertForMaskedLM, TFAutoModelWithLMHe..

Python/NLP Code 2022.03.10

[Tensorflow] 학습 과정 중 validation loss, accuracy 출력 방법

텐서플로우 epoch마다 validation loss, 정확도 표시하기 텐서플로우에서 모델 학습 과정 중 학습 데이터의 loss 및 정확도 뿐 아니라, 검증(테스트) 데이터에 대한 중간 결과를 각 epoch마다 확인할 수 있는 방법에 대해서 간략하게 살펴보도록 하겠습니다. 예를 들어, 분류 관련 task에서 x_train, y_train이 학습 데이터 셋과 라벨을 구성하고 있고, x_valid, y_valid가 검증 데이터 셋과 라벨을 담고 있는 변수라고 가정해보겠습니다. 참고 : x_test, y_test같은 테스트 데이터와 라벨을 validation set 대신 사용도 가능합니다. Train loss, accuracy만 표시한 경우 모델 학습 과정의 fit 단계에서 validation data를 설정..

Python/Tensorflow 2022.02.19

[Tensorflow] 과적합 방지 조기 종료 설정 : EarlyStopping

텐서플로우 콜백 함수 EarlyStopping 사용 방법, 원리 안녕하세요. 이번 시간에는 텐서플로우에서 학습 조기 종료 조건을 설정할 수 있는 callback 함수인 EarlyStopping의 사용 예시와 과적합 방지 원리에 대하여 간단하게 살펴보도록 하겠습니다. EarlyStopping 적용 방법 텐서플로우 내에서 EarlyStopping을 모델 학습 과정에 적용시키기 위해서는 우선, 조기 종료 callback 함수의 판정 기준을 아래 코드 처럼 선언해줍시다. callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=3) 여기서, monitor는 판정 기준의 지표를 결정하는 것이며, 과적합 방지가 목적이라면 'val_loss'를..

Python/Tensorflow 2022.02.18

[Tensorflow] 텐서플로우 GPU 확인, 특정 GPU 사용 방법

텐서플로우 GPU 사용 가능 여부 체크, 원하는 GPU 지정 하기 안녕하세요. 이번 글에서는 tensorflow 2 버전에서 gpu가 연결되었는지를 점검하고, 원하는 gpu를 사용할 수 있도록 하는 방법에 대해서 간단히 설명해보도록 하겠습니다. Tensorflow gpu 연결 확인 방법 아래의 코드를 작성해서 손쉽게 gpu 사용 가능 여부를 확인할 수 있습니다. from tensorflow.python.client import device_lib device_lib.list_local_devices() 만일, CPU만 연결된 경우는 아래와 같이 메시지가 출력됩니다. 반면, GPU가 1개 이상 연결된 경우는 아래쪽에 GPU:0, GPU:1, ... 식으로 번호가 할당된 디바이스가 추가로 탐색됩니다. 텐서플..

Python/Tensorflow 2022.02.07

[Tensorflow] 텐서플로우 버전 확인, 업그레이드, 다운그레이드 방법

텐서플로우 버전(version) 확인 및 변경 텐서플로우(Tensorflow)를 사용하시다 보면 버전 호환성 문제로 버전을 업그레이드 혹은 다운그레이드해야 하는 경우가 가끔씩 발생합니다. 이번 시간에는 해당 모듈의 버전(version)을 간단하게 확인하는 방법과 업그레이드, 다운그레이드하는 변경 방법에 대해서 살펴보도록 하겠습니다. 텐서플로우 버전 확인(Tensorflow version check) Tensorflow 모듈의 버전 확인 방법은 모듈을 import한 뒤, __version__ 속성 값을 조회하여 쉽게 확인이 가능합니다. import tensorflow as tf print(tf.__version__) # 2.5.0 저는 2.5.0 버전의 텐서플로우를 사용 중이었습니다. version 확인 ..

Python/Tensorflow 2022.01.21

[Tensorflow] 텐서플로우 원핫 인코딩 함수 : tf.one_hot()

텐서플로우 원핫 벡터 생성 함수 tf.one_hot() 사용법 안녕하세요. 이번 글에서는 파이썬 tensorflow에서 원핫 인코딩을 바로 진행할 수 있게 해주는 tf.one_hot 함수의 사용법에 대해서 간단히 다루어보도록 하겠습니다. 이 글은 텐서플로우 공식 문서의 tf.one_hot 함수 설명 글을 바탕으로 작성되었습니다. 원핫 인코딩(One-hot Encoding)이란? 원핫 인코딩은 딥러닝 과정에서 loss 함수 계산을 용이하게 해주어 학습의 효율을 증가시킬 수 있고, 범주형 변수를 머신러닝에 사용가능하게 만들어주는 방법입니다. 10장의 강아지, 고양이, 여우, 호랑이 사진들의 목록이 있다고 할 때, 이를 단일 벡터로 만든 경우와, 원핫 인코딩으로 표현한 결과는 아래 그림처럼 요약이 가능합니다...

Python/Tensorflow 2022.01.14
반응형