분류 전체보기 72

tensorflow 함수 TIP

https://www.tensorflow.org/versions?hl=ko 위 사이트에 들어가서 Tensorflow 버전에 맞는 API에 들어가면 Tensorflow 버전별 함수 defult값과 예시를 볼 수 있다. tf.keras에서 layers 를 보면 우리가 자주 쓰는 Conv2D함수의 defult값과 사용할 수 있는 옵션을 볼 수 있다. 위에 보는거처럼 Conv2D의 Examples도 확인 가능하니 Tensorflow하다가 잘모르는 함수가 있으면 검색해보는것을 추천한다. 함수 검색하는 방법 EX) tf.keras.layers.Conv2D의 설명을 보고싶으면 tf->keras->layers->Conv2D에 있다. 번외로 Error나 activation function에 대한 내용도 있다.

인공지능 관련 2021.06.22

파이썬 대표적인 에러 종류

종류 설명 ImportError import 문에서 오류가 발생할때 IndexError 리스트 등 첨자의 범위를 벗어날 때 KeyError 딕셔너리에서 키가 없을 때 KeyboardInterrupt 프로그램 실행중 컨트롤+C를 누를때 NameError 변수명이 없는 것에 접근할 때 RecursionError 재귀 호출의 횟수가 시스템에서 설정한 것보다 넘칠때 SynyaxError 문법상 오류가 발생할 때 TypeError 변수형의 오류가 발생할 때 ValueError 함수의 매개변수에 잘못된 값을 넘길 때 ex) int('파이썬') ZeroDivisionError 0으로 나눌 때 IOError 파일 처리 등 오류일 때

파이썬 2021.06.15

파이썬 파일의 열기 모드

종류 설명 코드 r 읽기 모드. 기본값 변수명 = open("파일명", "r") w 쓰기 모드, 기존에 파일이 있으면 덮어씀 변수명 = open("파일명", "w") r+ 읽기/쓰기 겸용 모드 변수명 = open("파일명", "r+") a 쓰기모드. 기존파일이 있으면 이어서씀 (append의 약어) 변수명 = open("파일명", "a") t 텍스트 모드,. 텍스트 파일을 처리함 변수명 = open("파일명", "t") b 이진 모드. 이진 파일을 처리함 변수명 = open("파일명", "b")

파이썬 2021.06.15

import , import as, from import, from import * 의 차이

import import 모듈 import 모듈 1, 모듈 2 모듈. 변수 모듈. 함수() 모듈. 클래스() import로 라이브러리에서 수학 모듈 math를 들고 와서 원주율을 출력하면 import math math.pi #출력 : 3.141592653589793 모듈 함수는 "모듈. 함수()" 형식으로 사용 import math math.sqrt(4.0) #출력: 2.0 math.sqrt(2.0) #출력: 1.4142135623730951 import as import 모듈 as 이름 모듈의 함수를 사용할 때 math.sqrt처럼 함수마다 math를 입력하기 귀찮습니다. 그래서 import as로 모듈의 이름을 지정할 수 있습니다. import math as m m.sqrt(4.0) #출력 : 2.0..

파이썬 2021.06.09

verbose

model = model_fn() model.compile(loss='sparse_categorical_crossentropy', metrics='accuracy') history = model.fit(train_scaled, train_target, epochs=5) model = model_fn() model.compile(loss='sparse_categorical_crossentropy', metrics='accuracy') history = model.fit(train_scaled, train_target, epochs=40, verbose=0) defult값은 1이다. verbose 값 의미 0 아무런 표시를 하지 않음 1 에포크별 진행 사항을 알려줌 2 에포크별 학습 결과를 알려줌

인공지능 관련 2021.06.09

대표적인 오차 함수

평균 제곱 계열 mean_squared_error 평균 제곱 오차 계산 : mean(square(yt - yo)) mean_absolute_error 평균 절대 오차 (실제 값과 예측값 차이의 절댓값 평균) 계산 : mean(abs(yt - yo)) mean_absolute_percentage_error 평균 절대 백분율 오차 (절대값 오차를 절댓값으로 나눈 후 평균) 계산 : (mean(abs(yt - yo))/abs(yt) 단, 분모는 0이아니다. mean_squared_logarithmic_error 평균 제곱 로그 오차 (실제 값과 예측 값에 로그를 적용한 값의 차이를 제곱한 값의 평균) 계산 : mean(square((log(yo)+1)-(log(yt)+1))) 교차 엔트로피 계열 categor..

인공지능 관련 2021.06.01

최적화 알고리즘 Optimizer

옵티마이저(Optimizer) 오차를 어떻게 줄여 나갈지 정하는 함수 경사하강법(Gradient Descent, GD) 가장 기본적인 Optimizer 알고리즘 학습률(learning rate)과 손실함수(loss function)의 순간기울기(gradient)를 이용하여 가중치(weight)를 업데이트하는 방법 학습률(learning rate)이 너무 크면 학습 시간이 짧아지나 전역 최솟값(Global minimum)에서 멀어짐 학습률(learning rate)이 너무 작으면 학습시간이 오래걸리고 지역 최솟값(Local minimum)에 수렴할 수 있음 한번 업데이트 할 때 마다 전체 데이터를 미분해야 하므로 계산량이 많음 (속도 느림) 학습률(learning rate)은 하이퍼 파라미터로, 하강하는 ..

인공지능 관련 2021.05.28

로또 번호 랜덤 출력 코드

import random def getNumber(): return random.randrange(1, 46) #getNumber 함수 정의하는데 랜덤값을 1~45사이 숫자를 출력함 lotto = [] num = 0 #추첨된 로또 숫자를 저장할 lotto 리스트와 추첨된 숫자를 임시 저장할 변수를 초기화 print("** 로또 추첨을 시작합니다. ** \n"); while True: num = getNumber() if lotto.count(num) ==0: lotto.append(num) #lotto.append(num)함수롤 뒤에서부터 번호 숫자 추가 if len(lotto) >=6: break print("추첨된 로또 번호 ==> ", end='') lotto.sort() #뽑힌 숫자 6개를 lot..

파이썬 코드 2021.05.25

사이킷런 (scikit-learn) 기초

사이킷런(scikit-learn) 라이브러리는 파이썬 API를 사용하는데 파이썬 언어는 배우기 쉽고 컴파일하지 않아도 되기 때문에 사용하기 편리합니다. 또한 사이킷런(scikit-learn) 은 대표적인 머신러닝 라이브러리입니다. K-최근접 이웃(K-Nearest Neighbors) 어떤 데이터에 대한 답을 구할때, 주위의 다른 데이터를 보고 다수를 차지하는것을 정답으로 사용 from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors = 1, weights = "distance", metric="euclidean") n_neighbors (default=5) : 분류시 고려할 인접 샘플 수 weights..

인공지능 관련 2021.05.21

인공지능 개발 환경 만들기

from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Activation from tensorflow.keras.utils import to_categorical from tensorflow.keras.datasets import mnist import numpy as np import matplotlib.pyplot as plt from tensorflow.keras.models import Sequential #위코드는 시퀀셜 모델을 불러오는 명령어 기본적인 인공 신경망은 레이어가 순차적으로 구성되어 있습니다. 이렇게 순차적인 신경망을 구성할 때 사용할 수 있는 함수가 바로 케라스의 모델 도구(..

인공지능 관련 2021.05.18