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

DNN with Keras/TensorFlow28

뉴런의 유형 (1) Types of Neurons 모든 신경망이 모든 종류의 뉴런을 사용하는 것은 아니다. 하나의 뉴런이 여러 종류의 뉴런의 역할을 채우는 것도 가능하다. 신경망에는 보통 네 가지 종류의 뉴런이 있다. • 입력 뉴런 : 각 입력 뉴런을 특징 벡터의 한 요소에 매핑한다. • 은닉 뉴런 : 은닉 뉴런은 신경망이 추상적이고 입력을 출력으로 처리할 수 있도록 한다. • 출력 뉴런 : 각 출력 뉴런은 출력의 한 부분을 계산한다. • 바이어스 뉴런 : 선형 방정식의 y 절편과 유사하게 작업한다. 그리고 각 뉴런을 층으로 배치한다. • 입력층 : 입력층는 데이터 세트로부터 특징 벡터를 받아들인다. 입력층는 일반적으로 바이어스 뉴런을 가진다. • 출력층 : 신경망으로부터의 출력이다. 출력층는 바이어스 뉴런을 가지지 않는다.. 2023. 7. 28.
뉴런과 층 (Neurons and Layers) Neurons and Layers 대부분의 신경망 구조는 어떤 유형의 뉴런을 사용한다. 많은 다른 신경망이 존재하고 프로그래머들은 실험적인 신경망 구조를 도입한다. 결과적으로 모든 신경망 아키텍처를 포함할 수는 없다. 그러나 신경망 구현 사이에는 몇 가지 공통점이 있다. 신경망 알고리즘은 일반적으로 이러한 단위를 뉴런이라고 부를 수도 있고 아닐 수도 있지만 개별적으로 상호 연결된 단위로 구성된다. 신경망 처리 장치에 대한 이름은 문헌 소스에 따라 다르다. 노드, 뉴런 또는 단위라고 할 수 있다. 인공 뉴런은 다른 뉴런일 수 있는 하나 이상의 소스로부터 입력을 받거나 컴퓨터 프로그램으로부터 네트워크에 입력된 데이터를 수신한다. 이 입력은 일반적으로 부동 소수점 또는 이진수이다. 종종 이진 입력은 true .. 2023. 7. 28.
텐서플로우 (TensorFlow) Deep Learning and Neural Network 신경망은 최초의 기계 학습 모델 중 하나였다. 그 인기는 두 번 떨어졌고 이제 세 번째로 증가하고 있다. 딥러닝은 신경망의 사용을 의미한다. 딥러닝의 deep은 많은 숨겨진 계층이 있는 신경망을 의미한다. 신경망은 너무 오랫동안 존재해왔기 때문에 꽤 많은 짐을 가지고 있다. 연구자들은 많은 다른 훈련 알고리즘, 활성화/전달 기능 및 구조를 만들어 왔다. 신경망은 입력을 받아들여 출력을 만든다. 신경망에 대한 입력을 특징 벡터 (feature vector)라고 한다. 신경망에 대한 입력은 항상 고정된 길이이다. 이 벡터의 크기를 변경하는 것은 일반적으로 전체 신경망을 다시 만드는 것을 의미한다. 특징 벡터를 "벡터"라고 하지만 항상 그렇지는 않다... 2023. 7. 28.
[TensorFlow] Mac M1에서 TensorFlow 설치 Mac M1에서 TensorFlow 설치 맥 m1 노트북에 아직 파이썬을 위한 어떤 개발환경이 설치되지 않았다고 가정한다. miniforge를 설치하고 다시 tensorflow를 설치하고 하드웨어 가속기 플러그인인 tensorflow-metal까지 설치한다. https://developer.apple.com/metal/tensorflow-plugin/ brew 설치 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users//.zprofile $ eval "$(/opt/homebre.. 2022. 9. 2.
[TensorFlow] The kernel appears to have died. It will restart automatically. config 파일 내 비트수 할당 코드 추가 ./jupyter 폴더 내에 있는 upyter_notebook_config.py을 수정한다. 기존에 디폴트로 설정된 버퍼 값보다 많은 비트수를 할당하면 문제가 해결된다. c.NotebookApp.max_buffer_size = 10000000000000000000000 UnsatisfiableError Python 버전에서 문제가 발생한 경우이다. conda install이 아니라 pip install을 사용한 경우도 아래와 같이 실행해 본다. conda create -n downgrade python=3.7 anaconda # tensorflow 설치 conda install -c conda-forge tensorflow virtualenv 모듈을 사용하여 .. 2022. 8. 29.
TensorFlow Lite (2) What are the quantization possibilities? TFLite가 모델 양자화를 위해 제공하는 두 가지 옵션이 있다. (i) 훈련 후 양자화 (post-training quantization) : 단순히 모델이 훈련된 후 매개변수의 양자화를 수반한다. (ii) 양자화 인식 훈련 (quantization-aware training) : 훈련 시간 동안 모델을 양자화하는 것을 수반한다. 초기 훈련 전에 네트워크 수정이 필요하고 (가짜 양자화 노드 사용) 나중에 변환이 아닌 훈련을 통해 8비트 가중치를 학습한다. 현재로서는 CNN 아키텍처의 하위 집합에 대해서만 사용할 수 있다. Post-training quantization 훈련 후 양자화는 네트워크를 수정할 필요가 없으므로 이전에 훈.. 2022. 8. 23.
TensorFlow Lite (1) What is TensorFlow lite (TFLite)? 배터리와 메모리는 모바일, edge 또는 IoT 장치에 가장 중요한 두 가지 리소스이다. 클라우드나 사내 서버에 비해 제한된 양으로 제공된다. 딥러닝 (DL) 기반 훈련된 모델을 직접 배포하면 리소스가 부족하기 때문에 작동하지 않는다. 따라서, 이러한 장치에 대한 DL 모델 기반 추론은 모델의 다음 특성을 고려해야 한다. (i) 메모리를 절약하려면 크기가 더 작아야 한다. (ii) 배터리 수명을 절약하기 위해 적은 에너지를 소비해야 하고 (iii) 사용자가 모델이 즉시 반응한다고 느낄 수 있도록 낮은 대기 시간 또는 높은 추론 시간을 가져야 한다. 요컨대, 모바일 및 에지 장치에 배포하기 위해 메모리, 에너지 및 프로세서 사용량에 대해 모델을 .. 2022. 8. 23.
[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.
728x90
반응형
LIST