목록분류 전체보기 (272)
말랑말랑제리스타일
우연히 파이썬 2.x버전(정황상 2.4로 추정)의 소스 코드를 3.7 버전으로 마이그레이션 할 일이 생겼는데요. 에러가 떨어져서 손을 댄 부분이 크게 두가지가 있어 정리해 봅니다. Print 함수 변환점 먼저 print 함수에는 2.x 버전에서는 괄호를 사용하지 않았으나 3.x 버전으로 올리면서 괄호로 파라미터를 감싸도록 변했습니다. 문자 포맷도 C와 같은 퍼센트로 시작하는 게 아닌 중괄호로 묶어 콜론을 사용하는 방식으로 바뀌었다고 하는데 프린트에서 포맷을 사용하는 소스가 없어 확인은 못해봤네요. Exception 넘기는 파트 변환점 Exception 넘기는 파트 즉, 예외처리 변경점입니다. 파이썬 2.x버전까지는 as가 없었으나 3.x 버전에서는 as가 생기면서 콤마로 구분이 아닌 as로 구분을 해야 ..
티스토리 블로그 개설하는 게 상대적으로 네이버 블로그보다는 번거롭죠. 순서대로 따라만 하시면 구글 서치콘솔 연동까지 할 수 있는 매뉴얼입니다. 티스토리 신규 블로그 개설하기 먼저 신규 블로그 개설을 위해 티스토리에 로그인을 해줍니다. 우측 상단의 아이콘을 클릭하고 계정 관리로 들어가 줍니다. 그럼 이제 운영 중인 티스토리 블로그 리스트가 나오고 하단에 새 블로그 만들기 버튼이 나오죠. 이 버튼을 눌러줍니다. 티스토리 블로그 개설 화면이 나오면 해당 블로그 이름, 블로그 주소, 닉네임을 설정해줘야 합니다. 작성 후 개설하기를 눌러줍니다. 이제 개설이 완료됩니다. 운영중인 블로그 리스트에서 새로 만든 블로그 이름을 클릭합니다. 그리고 좌측 "쓰기" 버튼을 눌러 적당히 포스팅 하나 써줍니다. 다시 카테고리 관..
딥러닝 강의를 듣고 있는데 케라스의 패션 MNIST 데이터셋을 사용하기에 다른 케라스 데이터셋은 어떤 게 있는지 한번 알아봤습니다. 총 7가지 데이터셋으로 되어있으며 설명은 간단히 진행합니다. MNIST 데이터셋(손글씨 데이터) 가장 대표적인 MNIST 데이터셋으로 손글씨로 0~9까지 써둔 28*28 이미지를 훈련용 데이터셋 60,000개, 테스트용 데이터셋 10,000개로 제공합니다. from tensorflow.keras import datasets data = datasets.mnist (train_x, train_y), (test_x, test_y) = data.load_data() 이런 소스를 이용해 데이터를 끌어올 수 있습니다. 패션 MNIST 데이터셋(의류 분류용 데이터) 마찬가지로 MNIS..
딥러닝에서 모델 생성을 완료했다면 어느 정도 정확도를 내는지 성능을 평가해야 되겠죠. 총 4가지 단계를 통해서 딥러닝 ANN 모델의 성능을 평가해 봤습니다. 여기서 과적합을 판단하는 방법도 알 수 있었는데 두 번째 단락에서 과적합의 의미를 설명드리겠습니다. ANN 모델의 학습 결과 출력 이미 model.fit을 통해 결과를 확인했겠지만 이 결과를 epoch(반복 횟수) 별로 히스토리에 저장해 둘 수 있습니다. history = model.fit(train_x, train_y, epochs=50, batch_size=50, validation_data=(valid_x,valid_y)) 이렇게 model.fit의 결과를 변수에 받아볼 수 있는데요. 저는 50회 epoch를 주고 history라는 변수에 저장..
TensorFlow에서는 약 15가지 정도의 손실함수를 지원한다고 하는데요. 그 중 용도에 따라 다르게 사용할 수 있는 세가지를 알아봤습니다. 딥러닝에서 손실함수(Loss Function)란 딥러닝에서 손실 함수란 loss율을 최소화시켜주는 함수입니다. 예측 값과 실제 값을 비교해 모델을 훈련할 때 손실을 최소화시켜주는 방식이죠. Categorical Crossentropy 손실함수 먼저 TensorFlow로 케라스 Mnist 데이터셋 분류에 주로 사용되는 Categorical Crossentropy 손실함수입니다. Mnist 데이터셋은 범주를 1~9까지 사이로 분류를 하는 데이터죠. 이런 범주형 데이터의 분류에는 Categorical Crossentropy 손실함수를 사용합니다. 이 외에도 원핫 인코딩..
딥러닝 활성화 함수에는 크게 Sigmoid(시그모이드),Tanh(하이퍼블릭 탄젠트), ReLU(렐루) 세가지 함수가 있습니다. 이 중 대세는 ReLU라고 하고 자료를 찾아봐도 ReLU를 많이 사용하기에 이유를 알아봤습니다. 세가지 활성화 함수(Sigmoid, Tanh, ReLU)의 특징 일단 세가지 활성화 함수의 특징을 알아봤습니다. Sigmoid의 경우 1/(1 + e^(-z))로 값을 만들어냅니다. 그래프는 이렇게 되는데요. 0보다 작은 값이 들어가면 0에서 0.5 사이의 값이, 0보타 큰 값이 들어가면 0.5~1 사이의 값으로 대치되겠네요. 세부적으로 설명하면 무지하게 복잡하니까 이쯤 하고 넘어갑니다. 다음으로 tanh 함수의 경우 tanh(x)로 계산이 됩니다. Sigmoid 함수에 입력값을 두배..
딥러닝 실습을 위해 아나콘다 가상환경을 생성하고 생성 여부를 테스트하는 방법입니다. 먼저 이 글을 읽기에 앞서 진행되어야될 부분은 아나콘다 또는 미니콘다가 설치되어있어야 합니다. 아나콘다 가상환경 생성 먼저 아나콘다 가상환경을 생성할 폴더를 만들어줍니다. 저는 D 드라이브에 tf_test라는 폴더를 생성했습니다. 그리고 anaconda powershell promport를 실행해 줍니다. 정상적으로 아나콘다나 미니콘다가 설치되었다면 윈도우 실행 메뉴에서 anaconda라고 검색하면 나올 겁니다. 실행되었다면 해당 폴더로 이동해 줍니다. 참고로 드라이브 변경은 드라이브 명칭 뒤에 콜론을 붙여서 명령어로 입력하면 이동 가능합니다. 예를 들어 D 드라이브로 이동한다면 아래와 같이 이동해줄 수 있죠. D: 그리..
딥러닝에서 데이터 전처리를 끝냈으면 모델을 정의해야 합니다. 물론 순서를 반대로 해서 딥러닝 모델을 정의하고 전처리를 진행해도 소스 흐름에 문제는 없습니다. 딥러닝 모델이란 딥러닝은 인공 신경망에 기반을 둔 머신 러닝의 기술이죠. 그렇다면 딥러닝 모델이란 뭘까요. 딥러닝 모델은 인공 신경망의 한 종류로 여러개의 레이어를 쌓아 대량의 데이터에서 복잡한 패턴을 찾아 학습하는 데에 사용되는 모델입니다. 딥러닝 모델은 입력 층과 데이터 추출을 위한 다수의 은닉층, 출력층으로 이루어져있는데요. 각 층은 다수의 뉴런으로 구성되어있고 뉴런들은 서로 연결되어있습니다. 여기서 각 연결은 가중치를 갖고있고 이 가중치를 딥러닝 모델 학습을 통해 최적화시킬 수 있습니다. 딥러닝 모델의 예로는 이미지 분류를 위한 컨볼루션 신경..