본문 바로가기
728x90
반응형
SMALL

DNN with Keras72

Python Preliminaries Origins of Deep Learning 딥러닝은 신경망을 위한 흥미로운 신기술 그룹이다. 고급 훈련 기술 신경망 아키텍처 구성 요소의 조합을 사용함으로써, 이제 훨씬 더 복잡한 신경망을 훈련시킬 수 있다. 심층 신경망, 정규화 단위 (ReLU), 컨볼루션 신경망, 반복 신경망 등을 소개한다. 고성능 컴퓨팅 (HPC) 측면은 딥러닝이 그리드와 그래픽 처리 장치 (GPU) 모두에서 어떻게 활용될 수 있는지를 보여준다. 딥러닝은 모델이 인간의 두뇌 기능과 유사한 방식으로 정보의 계층 구조를 학습할 수 있도록 한다. 신경망은 기계 학습 모델의 초기 예시 중 하나이다. 신경망은 1940년대에 처음 도입되었고 인기가 여러 번 오르내렸다. 현재 세대의 딥러닝은 2006년 제프리 힌튼의 개선된 훈련 알고리즘으로 .. 2022. 7. 15.
[TensorFlow] 텐서 작업 텐서 연산 필요한 패키지 임포트 텐서 (Tensor) 생성 및 사용 GPU 가속기 사용 tf.data.Dataset 시연 텐서 텐서플로 모듈을 임포트한다. import tensorflow as tf 텐서는 다차원 배열이다. NumPy ndarray 객체와 유사하게 tf.Tensor 객체에는 데이터 유형과 형상이 있다. 또한, tf.Tensor는 가속기 메모리 (ex: GPU)에 상주할 수 있다. TensorFlow는 tf.Tensor를 소비하고 생성하는 풍부한 연산 라이브러리를 제공한다 (tf.add, tf.matmul, tf.linalg.inv 등). 이러한 연산은 기본 Python 유형을 자동으로 변환한다. 예를 들면, 다음과 같다. print(tf.add(1, 2)) print(tf.add([1, .. 2022. 6. 20.
[TensorFlow] Pandas 데이터 프레임 전처리 pandas.DataFrame 로드 pandas 데이터 프레임을 tf.data.Dataset에 로드하는 방법의 예제이다. 여기에서는 Cleveland Clinic Foundation for Heart Disease에서 제공하는 작은 데이터세트를 사용한다. CSV에는 수백 개의 행이 있다. 각 행은 환자를 설명하고 각 열은 속성을 설명한다. 이 정보를 사용하여 이 데이터세트에서 환자가 심장 질환이 있는지 여부를 예측하는 이진 분류 작업이다. pandas를 사용하여 데이터 읽기 import pandas as pd import tensorflow as tf 심장 데이터세트가 포함된 csv 파일을 다운로드한다. csv_file = tf.keras.utils.get_file('heart.csv', 'https:/.. 2022. 6. 16.
[TensorFlow] NumPy 전처리 NumPy 데이터 로드 NumPy 배열에서 tf.data.Dataset으로 데이터를 로드하는 예제이다. 여기에서는 .npz 파일에서 MNIST 데이터세트를 로드한다. 그러나 NumPy 배열의 소스는 중요하지 않다. 설정 import numpy as np import tensorflow as tf .npz 파일에서 로드하기 DATA_URL = 'https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz' path = tf.keras.utils.get_file('mnist.npz', DATA_URL) with np.load(path) as data: train_examples = data['x_train'] train_labels = data.. 2022. 6. 16.
[TensorFlow] CSV 전처리 (2) 데이터 전처리 CSV 파일은 다양한 데이터 유형을 포함할 수 있다. 일반적으로 데이터를 모델에 공급하기 전에 혼합 유형에서 고정 길이 벡터로 변환한다. TensorFlow에는 일반적인 입력 변환을 설명하기 위한 내장 시스템이 있다. 자세한 내용은 tf.feature_column, 이 튜토리얼을 참조하면 된다. 원하는 도구 (ex: nltk 또는 sklearn)를 사용하여 데이터를 전처리하고 처리된 출력을 TensorFlow에 전달하면 된다. 모델 내에서 전처리를 수행할 때의 주요 이점은 모델을 내보낼 때 전처리가 포함된다는 것이다. 이렇게 하면 원시 데이터를 모델로 직접 전달할 수 있다. 연속 데이터 데이터가 이미 적절한 숫자 형식인 경우, 데이터를 모델로 전달하기 전에 벡터로 묶을 수 있다. SELEC.. 2022. 6. 16.
[TensorFlow] CSV 전처리 (1) CSV 데이터 로드 파일에서 tf.data.Dataset로 CSV 데이터를 로드하는 방법의 예이다. 여기에서 사용된 데이터는 Titanic 승객 목록에서 가져온 것이다. 이 모델은 연령, 성별, 티켓 등급 및 단독 여행 여부와 같은 특성을 기반으로 승객의 생존 가능성을 예측한다. 설정 import functools import numpy as np import tensorflow as tf TRAIN_DATA_URL = "https://storage.googleapis.com/tf-datasets/titanic/train.csv" TEST_DATA_URL = "https://storage.googleapis.com/tf-datasets/titanic/eval.csv" train_file_path = tf.. 2022. 6. 16.
[TensorFlow] 이미지 전처리 (2) 미세 제어를 위해 tf.data 사용하기 tf.keras.preprocessing 유틸리티는 이미지의 디렉토리에서 tf.data.Dataset을 작성하는 편리한 방법이다. 보다 세밀한 제어를 위해 tf.data을 사용하여 자체 입력 파이프라인을 작성할 수 있다. 여기에서는 다운로드한 TGZ 파일의 파일 경로부터 시작하여 이를 수행하는 방법을 보여준다. list_ds = tf.data.Dataset.list_files(str(data_dir/'*/*'), shuffle=False) list_ds = list_ds.shuffle(image_count, reshuffle_each_iteration=False) for f in list_ds.take(5): print(f.numpy()) b'/home/kbuil.. 2022. 6. 16.
[TensorFlow] 이미지 전처리 (1) 이미지 로드 및 전처리하기 고급 Keras 전처리 유틸리티 및 레이어를 사용한다. 다음으로 tf.data를 사용하여 처음부터 자체 입력 파이프라인을 작성한다. 설정 import numpy as np import os import PIL import PIL.Image import tensorflow as tf import tensorflow_datasets as tfds print(tf.__version__) 꽃 데이터세트 다운로드하기 수천 장의 꽃 사진 데이터세트를 사용한다. 꽃 데이터세트에는 클래스당 하나씩 5개의 하위 디렉토리가 있다. flowers_photos/ daisy/ dandelion/ roses/ sunflowers/ tulips/ (참고: 모든 이미지에는 CC-BY 라이선스가 있으며 크리.. 2022. 6. 15.
[TensorFlow] Keras Tuner Keras Tuner Keras Tuner는 TensorFlow 프로그램에 대한 최적의 하이퍼파라미터 세트를 선택하는 데 도움을 주는 라이브러리이다. 머신러닝 (ML) 애플리케이션에 대한 올바른 하이퍼파라미터 세트를 선택하는 과정을 하이퍼파라미터 조정 또는 하이퍼튜닝이라고 한다. 하이퍼파라미터는 훈련 프로세스 및 ML 모델의 토폴로지를 제어하는 변수이다. 이러한 변수는 훈련 과정에서 일정하게 유지되며 ML 프로그램의 성능에 직접적으로 영향을 미친다. 하이퍼파라미터에는 두 가지 유형이 있다. 숨겨진 레이어의 수 및 너비와 같이 모델 선택에 영향을 미치는 모델 하이퍼파라미터 SGD (Stochastic Gradient Descent)의 학습률 및 KNN (k Nearest Neighbors) 분류자의 최근접.. 2022. 6. 15.
[TensorFlow] 모델 저장 / 복원 (2) 수동으로 가중치 저장하기 Model.save_weights 메서드를 사용하여 수동으로 가중치를 저장한다. 기본적으로 tf.keras, 특히 save_weights는 .ckpt 확장자가 있는 TensorFlow 체크포인트 형식을 사용한다 (.h5 확장자를 사용하여 HDF5에 저장하는 내용은 모델 저장 및 직렬화 가이드에서 다룸). # 가중치 저장 model.save_weights('./checkpoints/my_checkpoint') # 새로운 모델 객체 생성 model = create_model() # 가중치 복원 model.load_weights('./checkpoints/my_checkpoint') # 모델 평가 loss,acc = model.evaluate(test_images, test_label.. 2022. 6. 15.
728x90
반응형
LIST