📢 아래 코드는 gym라이브러리에서 FrozenLake-v0 환경을 불러와 실행한다. 전체 코드 import gym import numpy as np env= gym.make('FrozenLake-v0',is_slippery=False) #환경 생성 Q=np.zeros([env.observation_space.n,env.action_space.n]) #Q배열 초기화 rho=0.8 #학습률 lamda=0.99 #할인율 n_episode= 2000 length_episode=100 #최적 행동 가치 함수 찾기 for i in range(n_episode): s=env.reset() for j in range(length_episode): argmaxs= np.argwhere(Q[s,:]==np.amax(Q[..
훈련집합은 꾸준히 성능이 개선되지만, 검증 집합에선 성능 개선이 없다? = 과잉 적합 발생! 이런 상황에 조기멈춤(early stopping)이라는 규제기법을 적용하면 효과적이다. 조기멈춤이란 훈련 집합에 대해 덜 수렴했더라도, 검증 집합에 대한 성능 개선이 더 없거나 퇴화한다면 학습을 마치는 전략 전체 코드 조기 멈춤을 위해 텐서플로에서 EarlyStopping 클래스를 제공함 early= EarlyStopping(monitor='val_accuracy', patience=5, restore_best_weights=True) 조기멈춤으로 LSTM 학습 중단 from tensorflow.keras.datasets import imdb from tensorflow.keras.models import Seq..
전체 코드 📢 실행하기 전 아래 코드를 실행하여 opencv라이브러리 설치하기!! pip install opencv-python 📑 물체를 분류하기 위한 클래스 부류 파일 Yolo로 물체 검출 import numpy as np import cv2 classes = [] f = open('/content/coco.names.txt','r') classes = [line.strip() for line in f.readlines()] colors = np.random.uniform(0,255, size=(len(classes),3)) img=cv2.imread('/content/dog.jpg') height, width,channels = img.shape blob=cv2.dnn.blobFromImage(im..
전체 코드 증대된 영상 확인 from tensorflow.keras.datasets import cifar10 from tensorflow.keras.preprocessing.image import ImageDataGenerator import matplotlib.pyplot as plt #CIFAR 10 부류 class_names = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck'] #데이터를 신경망에 입력할 형태로 변환 (x_train, y_train),(x_test,y_test) = cifar10.load_data() x_train = x_train.astype('float32')/255.0 x_trai..
Tensorflow 모델을 파일에 저장하는 코드 cnn.save("my_cnn.h5") save함수는 신경망의 구조 정보와 가중치 정보를 저장한다. 대용량 데이터를 저장하는데 널리 쓰이는 HDF5파일 형식을 사용하기 때문에 확장자를 h5로 지정한다. 모델을 다시 불러다 쓰는 코드 #신경망 구조와 가중치를 저장하고 있는 파일을 읽어옴 cnn=tf.keras.models.load_model('my_cnn.h5') 이렇게 해도 되고, 아니면 해당 API를 선언하고 사용해도됨 from tensorflow.keras.models import load_model model= load_model("파일명") 텐서플로는 학습하고 있는 모델객체가 (변수명이) cnn이면 cnn.save() 로 모델을 저장하는데 파이토치는..
초창기 모델인 LeNet-5를 텐서플로로 재현하여 데이터를 인식한다. 컨볼루션 신경망의 유연성을 확인하기 위해 표전적인 빌딩 블록을 벗어난 신경망도 실험한다. LeNet-5 재현 MNIST를 인식하는 컨볼루션 신경망이다. import numpy as np import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense from tensorflow.keras.optimizers import Adam #데이터를 신경망에 입력할 형태로 변환 ..