Keras에서 이미지 데이터셋을 불러오는 두가지 방법인 flow_from_directory와 flow_from_dataframe에 대한 간단한 예제코드입니다. 2022. 4. 30 최초작성 2024. 4. 21 데이터셋으로 다음 링크에 있는 것을 사용했습니다. https://www.microsoft.com/en-us/download/details.aspx?id=54765 소스코드가 있는 폴더에 다음처럼 데이터셋이 위치하는 상태에서 코드를 실행해야 합니다. 이미지를 불러오는 두가지 방식을 테스트로 동작시켜보는 코드이기 때문에 CNN의 레이어는 단순하게 되어있고 에포크는 20번으로 되어있습니다. 데이터셋을 사용시 다음 에러가 발생하기 때문에 이 데이터셋을 사용하기 전에 오류가 있는 이미지 파일을 삭제합니다...
Keras의 EfficientNet, EfficientNetV2 모델의 파라미터 개수를 확인해봤습니다. 2024. 3. 18 최초작성 확인한 모델의 파라미터 개수입니다. 오른쪽에는 M단위로 표기하고 있는데 1M은 백만(1,000,000)을 의미합니다. 예를 들어 5.33M은 533만입니다. EfficientNetB0 5330571 parameters. (5.33M) EfficientNetB1 7856239 parameters. (7.86M) EfficientNetB2 9177569 parameters. (9.18M) EfficientNetB3 12320535 parameters. (12.32M) EfficientNetB4 19466823 parameters. (19.47M) EfficientNetB5 3..
Optuna를 사용하여 MNIST 데이터셋에 대한 keras 분류 모델의 하이퍼파라미터를 최적화하는 예제코드입니다. 2023. 11. 5 최초작성 실행결과입니다. (tensorflow-dev) webnautes@webnautesui-MacBookAir keras_example % /Users/webnautes/miniforge3/envs/tensorflow-dev/bin/python /Users/webnautes/keras_example/optuna _mnist.py [I 2023-11-05 12:06:30,500] A new study created in memory with name: no-name-42c2fbc2-e7d7-4e40-a7af-f9c08dc199a5 Metal device set to:..
Optuna를 사용하여 iris 데이터셋에 대한 Keras 분류 모델 하이퍼파라미터를 최적화하는 예제입니다. 2023. 10. 20 최초작성 최적화 시도를150번 한 결과입니다. [I 2023-10-20 15:34:32,846] A new study created in memory with name: no-name-a9a9d87a-1258-4aee-91ac-09818702060f Metal device set to: Apple M1 systemMemory: 16.00 GB maxCacheSize: 5.33 GB [I 2023-10-20 15:34:38,095] Trial 0 finished with value: 0.2703423798084259 and parameters: {'n_units_l1': 55..
Keras로 구현한 MNIST Image Classification입니다. 2023. 05. 06 최초작성 import tensorflow as tf import matplotlib.pyplot as plt # MNIST 데이터셋을 로드하여 Train 데이터셋은 x_train, y_train에 대입히고 Test 데이터셋은 x_test, y_test에 대입됩니다. # x_train과 x_test에는 28 x 28 크기의 정사각형 이미지가 저장되어 있으며 # y_train과 y_test에는 28 x 28 크기의 이미지가 나타내는 0 ~ 9 사이의 숫자가 저장되어 있으며 라벨(label)이라고 부릅니다. (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mn..
Keras 모델의 전체 파라미터 개수를 출력하는 예제 코드입니다. 2023. 7. 19. 최초작성 from tensorflow.keras.applications import EfficientNetB0 # 모델을 로드합니다. model = EfficientNetB0(weights='imagenet') # 전체 파라미터 개수를 가져와 출력합니다. total_params = model.count_params() print(f'전체 파라미터 개수 = {total_params}') 실행해보면 EfficientNetB0 모델의 전체 파라미터 개수를 출력해줍니다. 전체 파라미터 개수 = 5330571
tf.keras.applications.EfficientNetB0 ~ tf.keras.applications.EfficientNetB7 모델은 이미지의 픽셀 범위를 0~255에서 0~1로 바꾸기 위해 픽셀값을 255로 나누는 레이어가 포함되어 있기 때문에 입력 이미지를 255로 나눌 필요가 없습니다. 만약 255로 입력 이미지의 픽셀을 나누면 성능이 안좋게 나오게 됩니다. 2022. 6. 12 최초작성
이번 영상에서는 Keras와 OpenCV를 사용하여 직접 쓴 손글씨를 인식하는 방법을 소개합니다. 설명은 아래 유튜브 영상을 확인하세요. https://youtu.be/TV3oplqa5VA?feature=shared 영상에서 사용한 코드입니다. from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, Flatten from tensorflow.keras.layers import Conv2D, MaxPooling2D from tensorflow.keras.utils import to_categorical fro..
첫번째 코드를 실행시켜서 손글씨 숫자 MNIST 데이터로 훈련을 시킨 후, 두번째 코드에서 실제 손글씨 이미지를 로드하여 인식시켜보았습니다. 테스트시 아래 이미지를 사용했습니다. 실행결과는 다음과 같았습니다. [0 1 2 3 4 5 6 7 8 9] import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activa..
Keras 모델을 저장한 .h5 파일을 Tensorflow Lite용 모델 .tflite로 변환하는 코드입니다. 2022. 10. 23 최초작성 import tensorflow as tf import efficientnet.keras as efn import sys if len(sys.argv) != 2: print(f"Usage : {sys.argv[0]} h5_file") exit(0) file_name = sys.argv[1] model = tf.keras.models.load_model(file_name) converter = tf.lite.TFLiteConverter.from_keras_model(model) tflite_model = converter.convert() open( file_na..