딥러닝
-
pytorch-1 기본 문법딥러닝/pytorch 2023. 6. 26. 18:27
1. pytorch 파이토치는 딥러닝을 위한 프레임워크로 다른 프레임워크들에 비해서 GPU를 이용한 연산이 가능하고 계산 속도가 빠르다는 장점이 있다. 2. 텐서 텐서(tensor)는 배열(array)이나 행렬(matrix)과 매우 유사한 자료구조이다. 텐서는 GPU나 다른 하드웨어 가속기에서 실행할 수 있다는 점만 제외하면 넘파이와 유사하다. 실제로 텐서와 넘파이는 텐서와 동일한 내부 메모리를 공유하기 때문에 데이터를 복사할 필요가 없다. import torch import numpy as np data = [[1,2], [3,4]] print(type(data)) x_data = torch.tensor(data) print(x_data) np_array = np.array(data) x_np = to..
-
keras-6 cnn딥러닝/keras 2023. 5. 29. 13:23
1. python from keras import models from keras import layers model = models.Sequential() model.add(layers.Conv2D(32,(3,3), activation='relu', input_shape=(28,28,1))) model.add(layers.MaxPooling2D((2,2))) model.add(layers.Conv2D(32,(3,3), activation='relu')) model.add(layers.MaxPooling2D((2,2))) model.add(layers.Conv2D(32,(3,3), activation='relu')) model.add(layers.MaxPooling2D((2,2))) sequential ..
-
keras-5 boston딥러닝/keras 2023. 5. 29. 13:05
1. python from keras.datasets import boston_housing (train_data, train_labels),(test_data, test_labels) = boston_housing.load_data() 보스턴 집값데이터셋을 불로오고 데이터를 구분한다. print(train_data.shape) print(test_data.shape) (404, 13) (102, 13) 데이터의 모양을 확인하면 13개의 특성을 가지고 있다. 개수가 404개, 102개로 작은 편이다. print(train_data[0]) [ 1.23247 0. 8.14 0. 0.538 6.142 91.7 3.9769 4. 307. 21. 396.9 18.72 ] 데이터의 값이 들쑥날쑥하기 때문에 정규화가..
-
keras-3 reuter딥러닝/keras 2023. 5. 29. 12:43
1. 파이썬 from keras.datasets import reuters (train_data, train_labels),(test_data, test_labels) = reuters.load_data(num_words=10000) 로이터 데이터셋에서 가장 자주 등장하는 단어 10000개를 불러오고 훈련데이터와 테스트 데이터로 나눈다. print(train_data.shape) print(test_data.shape) (8982,) (2246,) 데이터의 모양을 확인한다. import numpy as np def vectorize_sequences(sequences, dimension=10000): results = np.zeros((len(sequences), dimension)) for i, seq..
-
딥러닝- 최적화딥러닝 2023. 5. 23. 19:01
1. 최적화(optimizer) 모델의 효과를 높이기 위하여 가중치의 미분을 계산하고 적합한 가중치 값으로 갱신하는 과정을 반복한다. 이 가중치의 기울기를 기반으로 최적의 값을 찾아가는 것을 optimizer라고 한다. 최적화에서 중요한 것은 한 번에 얼마나 이동할지를 정하는 학습률이다. 학습률이 낮다면 매우 느리게 움직인다. 특히 평탄한 지역에서는 학습속도가 매우 느려지며 기울기가 매우 낮다면 학습이 더 이상 진행되지 않을 수도 있다. 반대로 학습률이 높다면 최솟값이 있는 지점을 임의로 건너뛰거나 로컬 미니멈에서 멈출 수 있다. 따라서 더욱 학습시간을 줄이고 글로벌 맥시멈을 정확하게 찾아내기 위해서 관성 법칙을 이용하는 모멘텀, 스탭사이즈를 키운 adagard 등 다양한 옵티마이저가 생겨났다. 2. 역..
-
딥러닝- 손실함수딥러닝 2023. 5. 23. 18:35
1. 손실 함수(loss function) 딥러닝의 목적은 바로 최적의 가중치를 찾는 것이다. 처음 임의 모델에 대하여 학습을 진행할 때 우리는 정확도가 높을지 또는 모델이 과적합될지 모른다. 따라서 그 패턴을 찾기 위하여 최적의 가중치를 찾아서 모델을 만들어야 한다. 손실 함수는 실제 값과 예측 값의 오차이다. 오차가 클수록 손실함수가 커지며 작을수록 손실함수가 작아지며 손실함수를 줄이는 것이 목표이다. 2. Binary cross entropy cross entropy는 분류 모델에 사용한다. 엔트로피는 불확실성을 나타낸다. 예측하기 어려운 사건일수록 정보량이 많아지고 엔트로피가 커진다. Binary cross entropy는 이진 분류를 위한 손실 함수이다. 3. Categorical cross e..
-
keras-2 imdb딥러닝/keras 2023. 5. 23. 17:20
1. python from keras.datasets import imdb (train_data,train_labels),(test_data,test_labels) = imdb.load_data(num_words=10000) 케라스에 있는 imdb 데이터셋을 불러온다. train_data.shape (25000,) train_labels[0:5] array([1, 0, 0, 1, 0]) max([max(sequence) for sequence in train_data]) 9999 데이터가 두 가지로 나뉘어 있고 25000개의 훈련 데이터를 가지고 있다. import numpy as np def vectorize_sequences(sequences, dimension=10000): result = np.z..
-
keras-1 mnist딥러닝/keras 2023. 5. 23. 16:47
1. python import keras keras.__version__ 2.12.0 케라스를 불러온다. from keras.datasets import mnist (train_images,train_labels),(test_images,test_labels) = mnist.load_data() train_images.shape (60000, 28, 28) test_images.shape (10000, 28, 28) 케라스에 내장된 손글씨 데이터인 mnist를 불러온다. import matplotlib.pyplot as plt digit = train_images[4] plt.imshow(digit, cmap=plt.cm.binary) 숫자[4]를 그릴 수 있다. from keras import mode..