학교/인공지능

사람, 강아지, 차 이미지를 320 x 320 크기로 256_gray,    .bmp 파일형식으로 2장씩 학습해서 각각 분류해주는 코드 만들기
성능 비교는 속도, 인식률을 비교한다.epoch 1 번 돌렸을 때epoch 2 번 돌렸을 때....epoch 10 번 돌렸을 때 성능 비교해보기CNN_M1 은 3층 레이어 일 때 , CNN_M2는 2층 레이어 일 때 overfitting (과다적합) : epoch 가 과도하게 늘어나면 정확도가 0으로 수렴▶수업시간에 해본 것3층 레어어(784, 120, 80 , 10), 2층 레어어(784, 120,  10), 1층 레어어(784, 10)에서 epoch가 1, 5, 10 일 때 정확도 확인해보기 컨볼루션 7x7x32 , 풀링 파트 (2,2) 하나 더 넣어보기 -> 출력은 3x3x32import torchfrom torch import tensorfrom torchvision import datasetsf..
최초로 CNN 모델을 구현한 모델 : LeNet 특징 추출이 끝났으면 분류 단계에 입성           torch.cuda.is_available() 함수는 CUDA가 사용 가능한 경우 True를 반환하고, 그렇지 않은 경우 False를 반환한다만약 device가 'cuda'인 경우, CUDA를 사용하는 모든 장치의 난수 생성기 시드를 777로 설정한다       여기서 ReLu 함수는 그 값 그대로          내일은 CNN 모델 코드 변화시키면서 어떤 작용을 하는지 확인해보는 수업함
과잉적합 -> 너무 많이 공부해도 문제CNN -> Convolutional neural networkchat GPT -> 생성형 신경망 저급레벨과 고급레벨을 거치다보니 층이 깊어짐입력에서 특징을 추출하고 그걸 분류한다.특징추출도 여러 단계를 거침(처음엔 저급 특징이였다가 고급특징으로 감) (저급특징을 여러개 묶으면 고급특징이 됨)층 l-1 과 층 l 에서 64개의 곱셈을 한다이렇게 연결된 걸 fully connected 라 한다.오른쪽 (b) 그림에서 j 는 i-1, i, i+1 과 계산하는 것처럼 자신과 가까운 점만 본다.왼쪽 그림 : 64번 계산 , 오른쪽 그림 : 24번 계산  기호는 곱한 걸 더한다는 뜻그림(a)는 1차원 컨볼루션그림(b)는 2차원 컨볼루션음성은 1차원이기 때문에 1차원 컨볼루션 ..
여기서 data_len 은 100 ( batch_size 가 100 이므로 ) yhot은 0으로 꽉 채워진 100x10 2차원 배열의 형태   one-hot encoding에 대한 설명  MNIST_modelNN_GPU 파일을1. one-hot-encoding을 torch 함수로 구현할 것2. 784 - 300- 100 - 10 으로 3층구조를    784 - 100 - 50- 20 - 10 으로 4층구조로 만들 것다음주 수요일까지
과제 - test 데이터 중 0번째 숫자 출력"""train-images-idx3-ubyte.gz train-labels-idx1-ubyte.gz t10k-labels-idx1-ubyte.gz t10k-images-idx3-ubyte.gz"""from google.colab import filesuploaded = files.upload()import gzipimport numpy as npimport matplotlib.pyplot as pltimport struct# 데이터 로드 함수def load_mnist_images(filename): with gzip.open(filename, 'rb') as f: _, num, rows, cols = struct.unpack('>..
cpu는 한 번에 하나 밖에 처리 못함gpu는 동시에 여러 개를 처리 가능 cuda, gpu computing 이 일반화됨cpu로는 수행시간이 오래걸림 USE_CUDA = torch.cuda.is_available() # GPU를 사용가능하면 True, 아니라면 False를 리턴device = torch.device("cuda" if USE_CUDA else "cpu") # GPU 사용 가능하면 사용하고 아니면 CPU 사용print("Device:", device) 위 코드에서USE_CUDA = torch.cuda.is_available() # GPU를 사용가능하면 True, 아니라면 False를 리턴 다음 코드는 GPU를 사용가능하게 함 random.seed(777)torch.manual_seed(77..
데이터셋 - 표준/개발용( ex. iris data) MNIST : 0~9 의 숫자를 필기체로 저장해놓은 것 MNIST 는 총 4개의 파일로 구성되어 있다. 학습용(6만개) 평가용( t 는 test, 10 k = 10000을 뜻함)   위에서 image 는 그림을 뜻하고 label 은 클래스(숫자)를 뜻한다. idx3, idx1 에서 1은 1byte 를 , 3은 3byte 를 뜻한다.mnist 데이터셋에서1번째 : 매직넘버(4 byte)2번째 : 이미지 개수(4  byte)3번째 : 이미지 행수(4 byte, 28행) 4번째 : 이미지 열수(4 byte, 28열)위 그림에서 총 byte 용량은 9,912,422 bytes 는 압축되기 전 47,040,016 bytes 이고 구성은   4 + 4 + 4 +..
floss -> 한 객체가 생성됨 MSELoss 함수는 Mean Square Error 을 뜻함cost 함수는 floss 가지고 만듦 첫째 줄에서는 nn.MSELoss()를 사용하여 평균 제곱 오차 손실 함수를 생성합니다. 이것은 주어진 입력과 타겟 사이의 평균 제곱 오차를 계산하는 데 사용됩니다. 주로 회귀 문제에서 사용됩니다. 둘째 줄에서는 optim.SGD()를 사용하여 확률적 경사 하강법(SGD) 옵티마이저를 생성합니다. SGD는 학습 중에 모델 파라미터를 조정하여 손실 함수를 최소화하는 방향으로 진행합니다. lr 매개변수는 학습률을 나타냅니다. 셋째 줄에서는 nn.Sigmoid()를 사용하여 시그모이드 활성화 함수를 생성합니다. 시그모이드 함수는 입력을 [0, 1] 범위로 압축합니다. 주로 이진..
변형 과제 C E lll 을 테스트 케이스로 두고 결과 보이기 다층 퍼셉트론(학습부분)# MLP# 2 class : XOR# 4 patterns / 1 class# 2 Layerimport numpy as npimport math as mdef sigmoid(x) : return(1.0/(1+m.exp(-x)))lrate = 0.05INDIM = 26H1DIM = 5OUTDIM = 3PTTN_NUM = 3x = np.array([[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.1, 0.1, 1.0, 0.1, 0.1, 0.1, 0.1, 1.0, 0.1, 0.1, 0...
공부 기록장
'학교/인공지능' 카테고리의 글 목록