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

keras38

[Keras] 모델 플롯 유틸리티 plot_model 함수 keras.utils.plot_model( model, to_file="model.png", show_shapes=False, show_dtype=False, show_layer_names=False, rankdir="TB", expand_nested=False, dpi=200, show_layer_activations=False, show_trainable=False, **kwargs ) model_to_dot 함수 keras.utils.model_to_dot( model, show_shapes=False, show_dtype=False, show_layer_names=True, rankdir="TB", expand_nested=False, dpi=200, subgraph=Fa.. 2024. 4. 2.
[Keras] 멀티모달 함의 분류 (2) 데이터 입력 파이프라인 구축 TensorFlow Hub는 다양한 BERT 계열의 모델을 제공한다. 각 모델에는 해당하는 전처리 계층이 함께 제공된다. 리소스에서 이러한 모델과 해당 전처리 계층에 대해 더 자세히 알 수 있다. 런타임을 짧게 하기 위해 원래 BERT 모델의 더 작은 변형을 사용한다. # Define TF Hub paths to the BERT encoder and its preprocessor bert_model_path = ( "https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-256_A-4/1" ) bert_preprocess_path = "https://tfhub.dev/tensorflow/bert_en_uncased_pre.. 2024. 4. 2.
[Keras] 멀티모달 함의 분류 (1) 멀티모달 함의 분류 멀티모달 함의를 예측하기 위한 모델을 구축하고 훈련한다. Google Research에서 소개한 다중 모드 수반성 데이터 세트 multimodal entailment dataset를 사용한다. 멀티모달 함의란 소셜 미디어 플랫폼에서는 콘텐츠를 감사하고 중간 정도의 콘텐츠를 제공하기 위해 거의 실시간으로 다음 질문에 대한 답을 찾고자 할 수 있다. 주어진 정보는 다른 정보와 모순 (contradict) 되는지? 주어진 정보는 다른 정보를 의미 ( imply)하는지? 자연어 처리에서 이 작업은 텍스트 함의 분석이라고 한다. 이것은 정보가 텍스트 콘텐츠에서 나올 때만 해당된다. 실제로 사용 가능한 정보는 텍스트 콘텐츠뿐만 아니라 텍스트, 이미지, 오디오, 비디오 등의 멀티모달 조합에서 나오.. 2024. 3. 30.
Multiclass Classification Error Metrics Multiclass Classification Error Metrics 둘 이상의 결과를 예측하려면 둘 이상의 출력 뉴런이 필요하다. 하나의 뉴런이 두 가지 결과를 예측할 수 있기 때문에 출력 뉴런이 두 개인 신경망은 다소 드물다. 결과가 세 개 이상이면 출력 뉴런이 세 개 이상 필요하다. import pandas as pd from scipy.stats import zscore # Read the dataset df = pd.read_csv("https://data.heatonresearch.com/data/t81-558/jh-simple-dataset.csv", na_values=['NA', '?']) # Generate dummies for job df = pd.concat([df, pd.get_d.. 2024. 3. 6.
Keras에서 노이즈 제거 오토인코더 사용 Keras에서 노이즈 제거 오토인코더 사용 컴퓨터가 등장하고 머신러닝이라는 개념조차 생기기 훨씬 전부터 과학자들은 자연 관찰에 맞는 방정식을 만들어냈다. 과학자들은 관찰 사이의 상관 관계를 입증하기 위해 방정식을 찾는다. 예를 들어 질량, 가속도, 힘과 관련된 다양한 방정식이 있습니다. 복잡한 데이터를 살펴보고 방정식을 도출하는 데는 약간의 기술적 전문 지식이 필요하다. 함수 근사화의 목표는 이 과정에서 직관을 배제하고 대신 알고리즘에 의존하여 데이터를 설명하는 방정식을 자동으로 생성하는 것이다. 회귀 신경망이 이 작업을 수행한다. 회귀 함수를 차트화하는 데 사용할 함수를 만드는 것으로 시작한다. def chart_regression(pred, y, sort=True): t = pd.DataFrame({.. 2024. 3. 5.
[Windows] NVIDIA GPU 사용을 위한 Window Native에 Tensorflow 설치 NVIDIA Driver  NVIDIA에서 제품에 맞는 드라이버를 설치한다. WSL2 설치  PowerShell에서 WLS2를 설치한다. wls --install PowerShell에서 nvidia-smi 명령으로 GPU 서버를 확인한다. Ubuntu-22.04를 사용한다. nvidia-smi Miniconda 설치 아래의 명령어를 터미널에 입력해 스크립트 파일을 다운로드 후에 실행한다. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shsudo bash Miniconda3-latest-Linux-x86_64.sh 경로를 “/home/{사용자 이름}/miniconda3”로 설정한다.  # conda 경로 설정export P.. 2024. 2. 15.
스타일, 콘텐츠 및 변형 손실 계산하기 스타일, 콘텐츠 및 변형 손실 계산하기 행렬에 전치를 곱하여 그램 행렬을 계산한다. 손실 함수의 두 부분을 계산하기 위해 VGG 네트워크의 여러 컨볼루션 레이어에서 출력된 그램 행렬을 가져온다. 스타일과 원본 이미지와의 유사성을 모두 결정하기 위해 이미지 픽셀을 직접 비교하는 대신 VGG의 컨볼루션 레이어 출력을 비교한다. 손실 함수의 세 번째 부분에서는 서로 가까운 픽셀을 직접 비교한다. VGG 네트워크의 여러 다른 레벨에서 컨볼루션 출력을 가져오기 때문에 그램 행렬은 이러한 레이어를 결합하는 수단을 제공한다. VGG 컨볼루션 레이어의 그램 행렬은 이미지의 스타일을 나타낸다. 알고리즘이 생성할 때 원본 이미지, 스타일 참조 이미지, 최종 출력 이미지에 대해 이 스타일을 계산한다. def gram_mat.. 2024. 2. 14.
조기 중지의 이점 Benefits of Early Stopping 손실은 신경망이 오답에 대해 어느 정도 확신을 가졌는지를 측정한다. 정확도는 신경망의 신뢰도와 관계없이 올바른 분류의 비율이다. import matplotlib.pyplot as plt history_dict = history.history acc = history_dict['accuracy'] val_acc = history_dict['val_accuracy'] loss = history_dict['loss'] val_loss = history_dict['val_loss'] epochs = range(1, len(acc) + 1) plt.plot(epochs, loss, 'bo', label='Training loss') plt.plot(epochs, v.. 2024. 2. 13.
회귀 네트워크 전송 Transfering to a Regression Network Iris 비용 데이터 세트에는 원래 Iris 데이터 세트에 포함된 예측 변수인 꽃받침 너비, 꽃받침 길이, 꽃잎 너비 및 꽃잎 길이에 부합하는 꽃 샘플에 대한 측정값이 있다. 여기에 비용 데이터 세트가 표시된다. import pandas as pd df_cost = pd.read_csv("https://data.heatonresearch.com/data/t81-558/iris_cost.csv", na_values=['NA', '?']) df_cost 전이 학습이 효과적이려면 새로 훈련된 신경망의 입력이 처음 전송한 신경망에 가장 가깝게 일치해야 한다. 이 최종 분류를 수행하는 소프트맥스 활성화 함수가 포함된 마지막 출력 계층을 제거한다. 비.. 2024. 2. 13.
전이 학습 (Transfer Learning) 전이 학습 (Transfer Learning) 전이 학습은 신경망을 처음부터 훈련하는 대신 미리 로드된 가중치 세트로 훈련을 시작한다. 일반적으로 미리 훈련된 신경망의 최상위 레이어를 제거하고 새로운 최상위 레이어로 다시 훈련한다. 이전 신경망의 레이어는 훈련으로 인해 가중치가 변경되지 않도록 잠긴다. 새로 추가된 레이어만 학습된다. 대규모 이미지 데이터 세트에 대한 신경망을 훈련하려면 많은 컴퓨팅 성능이 필요할 수 있다. Google, Facebook, Microsoft 및 기타 기술 기업들은 다양한 애플리케이션을 위한 고품질 신경망을 훈련하기 위해 GPU 어레이를 활용하고 있다. 이러한 가중치를 신경망으로 전송하면 상당한 노력과 계산 시간을 절약할 수 있다. 사전 학습된 모델이 구현하려는 애플리케이션.. 2024. 2. 13.
728x90
반응형
LIST